【发布时间】:2020-07-30 08:48:12
【问题描述】:
我继承了一个较旧的项目,该项目有很多依赖项,在通过 CI 构建可靠的构建时遇到了一些问题。经过仔细检查,master 分支完全被破坏了,我需要进行一些修复。除了扩展之外,我可以让它很快工作。删除扩展时,项目将构建并运行。还有一个 dev 分支仍然可以开箱即用,但已经过时了。我比较了这些差异,似乎可以归结为链接器的细微变化。一旦我从master 分支上的dev 分支复制了工作链接器命令,它就会通过,反之亦然。
区别
比这两行有更多的差异,但我尝试将它们全部换掉,结果没有任何差异。
工作版本(开发分支)
-Xlinker 2 -fobjc-arc -fobjc-link-runtime -fapplication-extension -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator -L/usr/lib/swift
-Xlinker -add_ast_path
-Xlinker /Users/[me]/Library/Developer/Xcode/DerivedData/[App]-cjrxbriquvbkmcgdurzwekbylpik/Build/Intermediates.noindex/[App].build/Debug-iphonesimulator/[App]-PrintAction.build/Objects-normal/x86_64/[App]_PrintAction.swiftmodule -e _NSExtensionMain
失败的版本(主分支)
-Xlinker 2 -fobjc-arc -fobjc-link-runtime -fapplication-extension -B -e _NSExtensionMain
问题
我不知道为什么这两行不同,或者master 版本中似乎缺少一部分的原因是什么。我找不到标志的差异,但我可能找错地方了。
完整版
漂亮的格式:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
-target x86_64-apple-ios12.1-simulator <-- Beide
-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.6.sdk
-L/Users/[me]/Library/Developer/Xcode/DerivedData/[App]-cjrxbriquvbkmcgdurzwekbylpik/Build/Products/Debug-iphonesimulator
-F/Users/[me]/Library/Developer/Xcode/DerivedData/[App]-cjrxbriquvbkmcgdurzwekbylpik/Build/Products/Debug-iphonesimulator
-filelist /Users/[me]/Library/Developer/Xcode/DerivedData/[App]-cjrxbriquvbkmcgdurzwekbylpik/Build/Intermediates.noindex/[App].build/Debug-iphonesimulator/[App]-PrintAction.build/Objects-normal/x86_64/[App]-PrintAction.LinkFileList
-Xlinker -rpath
-Xlinker @executable_path/Frameworks
-Xlinker -rpath
-Xlinker @executable_path/../../Frameworks -dead_strip
-Xlinker -object_path_lto
-Xlinker /Users/[me]/Library/Developer/Xcode/DerivedData/[App]-cjrxbriquvbkmcgdurzwekbylpik/Build/Intermediates.noindex/[App].build/Debug-iphonesimulator/[App]-PrintAction.build/Objects-normal/x86_64/[App]-PrintAction_lto.o
-Xlinker -export_dynamic
-Xlinker -no_deduplicate
-Xlinker -objc_abi_version
-Xlinker 2
-fobjc-arc
-fobjc-link-runtime
-fapplication-extension
-B
-e _NSExtensionMain
-Xlinker -sectcreate
-Xlinker __TEXT
-Xlinker __entitlements
-Xlinker /Users/[me]/Library/Developer/Xcode/DerivedData/[App]-cjrxbriquvbkmcgdurzwekbylpik/Build/Intermediates.noindex/[App].build/Debug-iphonesimulator/[App]-PrintAction.build/[App]-PrintAction.appex-Simulated.xcent
-framework SystemConfiguration
-framework MobileCoreServices
-framework [App]Core
-lPods-[App]-PrintAction
-Xlinker -dependency_info
-Xlinker /Users/[me]/Library/Developer/Xcode/DerivedData/[App]-cjrxbriquvbkmcgdurzwekbylpik/Build/Intermediates.noindex/[App].build/Debug-iphonesimulator/[App]-PrintAction.build/Objects-normal/x86_64/[App]-PrintAction_dependency_info.dat
-o /Users/[me]/Library/Developer/Xcode/DerivedData/[App]-cjrxbriquvbkmcgdurzwekbylpik/Build/Products/Debug-iphonesimulator/[App]-PrintAction.appex/[App]-PrintAction
【问题讨论】:
标签: ios objective-c swift xcode clang