Xcode Archive 调试条错误

Posted

技术标签:

【中文标题】Xcode Archive 调试条错误【英文标题】:Xcode Archive debug strip errors 【发布时间】:2012-07-31 15:02:14 【问题描述】:

我正在尝试将大型遗留 C++ 库与 ios 应用程序集成。我们能够在设备上构建和运行,但我们无法存档应用程序。存档失败并出现以下错误。

命令 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip 失败,退出代码为 1

我在试纸条上做了一个“-v”,得到了一系列类似于

的警告

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip:不能被剥离的重定位条目引用的符号: /MyApp/DerivedData /SmartMusic_iPad/Build/Intermediates/ArchiveIntermediates/MyApp/IntermediateBuildFilesPath/UninstalledProducts/libMyLib-iOS.a(MyWhatever.o)

尚不清楚此消息是警告还是失败的原因。条带输出中没有其他问题迹象。有什么线索吗?

【问题讨论】:

【参考方案1】:

在静态库目标的构建设置下,为“部署后处理”和“在复制期间去除调试符号”选择否。它是编译后的代码,因此不需要剥离符号。 我遇到了同样的错误('usr/bin/strip failed with exit code 1'),这为我解决了。

【讨论】:

【参考方案2】:

在我的情况下,我将以下内容添加到我的库目标构建设置并开始正常工作:

死代码剥离:否

在复制期间去除调试符号:所有配置均否

条带样式:非全局符号

【讨论】:

【参考方案3】:

Xcode 中默认的Strip StyleAll Symbols,这对于可执行文件是可以的,但对于库,您需要将其设置为Non-Global Symbols,因为必须保留全局符号。

由于剥离仅作为部署后处理的一部分进行,因此调试构建通常不受此选项的影响,因为对于它们,设置 DEPLOYMENT_POSTPROCESSING 通常设置为 NO。但是,在归档时,您会创建一个发布版本,并且此处的 DEPLOYMENT_POSTPROCESSING 默认设置为 YES,因此您需要设置正确的条形样式。

【讨论】:

【参考方案4】:

strip 有不同的选项(请参阅manpage),我认为您会想要使用-r 选项。您可以在 Xcode 项目设置中设置剥离的类型。看看您是否可以将 Xcode 中的选项与手册页中的选项相关联。

【讨论】:

注意:您可以通过 Build Settings 中的“Additional Strip Flags”选项显式设置 strip 的命令行参数。不幸的是,带“-r”的剥离仍然失败。【参考方案5】:

我有同样的问题,但我将DEPLOYMENT POSTPROCESSING 编辑为NO 但它不起作用。

我刚刚转到目标中的Build Phases 选项卡,在Copy Bundle Resources 中删除了Foundation.framework,然后我将Foundation.framework 添加到Link Binary With Libraries,它对我有用!

希望这能解决您的问题!

【讨论】:

【参考方案6】:

对我有用的是,当我决定修复 Xcode 10.1 中的另一个问题时,我的模拟器没有启动,直到我真正需要它时我才忽略它,运行下面的命令有助于解决这个问题

sudo chmod 1777 /private/tmp

【讨论】:

【参考方案7】:

我通过释放更多空间来修复此错误

【讨论】:

【参考方案8】:

在 Xcode 11.5 上,我通过在 Framework 目标的 Build Settings 中将 Strip Linked Product 设置为 No 解决了这个问题。

【讨论】:

【参考方案9】:

尝试设置 STRIP_INSTALLED_PRODUCT 为您的目标(您遇到错误的目标)构建设置设置为否。 如果这不起作用,请尝试以下选项以及上述选项

死代码剥离:否 在复制期间去除调试符号:所有配置均否 条形样式:非全局符号

希望这能解决您的问题。

【讨论】:

这是 2 年前给出的另一个答案的副本

以上是关于Xcode Archive 调试条错误的主要内容,如果未能解决你的问题,请参考以下文章

IOS:PNG文件包含无效签名:XCode/Organizer/Archive/Validate中的Icon.png

archive的时候报“ no identity found"错误 解决方式

XCODE archive打包历史版本查看

xcode 命令行 archive,生成ipa包

为啥 Xcode 12.5 `xcodebuild -archive` 抱怨在没有 AppClip 的应用程序中缺少 appclip 权利?

.archive 和 .xcarchive xcode 之间的区别?