当我尝试在 ios 真实设备中运行 ionic 应用程序或进行存档时,就会发生这种情况。 在()模拟器中工作正常
我正在开发一个 Ionic 应用程序,在真实的 iOS 设备上运行它或尝试制作存档时遇到了构建问题。虽然应用程序在模拟器中运行良好,但在真实设备上却失败并出现链接器命令错误。
这是出现的错误:
断言失败:(aliasSectionNum ==sectionNum &&“别名及其目标必须位于同一节中”),函数assignAliasAtomOffsetInSection,文件Layout.cpp,第3248行。 完整的错误输出可以在此屏幕截图中看到:y1dnu.png
根据其他开发人员的研究和建议,我尝试使用以下终端命令启用核心设备支持:
默认写入 com.apple.dt.Xcode DVTEnableCoreDevice 已启用 此外,我尝试通过修改 Xcode 中的构建设置来解决该问题,如下所示:
导航至构建设置。 位于其他链接器标志。 添加了 -ld64 标志。 尽管进行了这些尝试,问题仍然存在。
我尝试过的:
清理 Xcode 中的构建文件夹并重建。 更新并重新安装所有项目依赖项,包括 CocoaPods。 搜索重复符号或冲突库的任何实例。 验证没有链接过时或不兼容版本的库。 环境:
Xcode版本:15 问题:
有人成功解决了类似的 Xcode 链接器命令错误吗? 此问题是否与模拟器构建和设备/存档构建之间不同的特定项目设置有关? 对于 -ld64 链接器标志是否有更有效的替代方法? 对于那些面对并解决了这个问题的人的任何帮助或见解将不胜感激。
您是否链接到 Google Nearby? Google Nearby 依赖于 GoogleUtilitiesLegacy,我怀疑此链接器问题源于此。
您更新到 Xcode 15 后遇到过这个问题吗?
我认为 Google Nearby 不再受支持,并且 Xcode 15 中的一些编译器/链接器更改正在通过 GoogleUtilitiesLegacy 代码中的别名解决此问题。如果我们更新到 MacoOS Sonoma,您将被迫迁移到 Xcode 15,因为 Sonoma 不再支持 Xcode 14。
如果您可以尝试使用 Xcode 14 进行构建,并且可能不得不放弃使用 Google Nearby 或在您自己的 fork 中解决问题。