当我试图在iOS真实的设备中运行离子应用程序或制作存档时,发生了这种情况。在(https://i.stack.imgur.com/y1dnu.png)模拟器中,它工作正常
我正在开发一个Ionic应用程序,在真实的iOS设备上运行或尝试创建存档时遇到了构建问题。虽然应用程序在模拟器中运行良好,但在真实的设备上出现链接器命令错误而失败。
以下是出现的错误:
Assert失败:(aliasSectionList == sectionList &&“别名和目标必须位于同一节”),函数assignAliasAtomOffsetInSection,文件Layout.cpp,第3248行。完整的错误输出可以在此屏幕截图中看到:y1dnu.png
根据研究和其他开发人员的建议,我尝试使用以下终端命令启用核心设备支持:
default write com.apple.dt.Xcode DVTEnableCoreDevice enabled另外,我尝试通过修改Xcode中的构建设置来解决这个问题,如下所示:
已导航到生成设置。找到其他链接器标志。已添加-ld 64标志。尽管进行了这些尝试,但问题仍然存在。
我尝试过的:
清理Xcode中的build文件夹并重建。更新并重新安装所有项目依赖项,包括CocoaPods。搜索重复符号或冲突库的任何示例。确保没有链接过时或不兼容版本的库。环境:
Xcode版本:15个问题:
有没有人成功解决了类似的Xcode链接器命令错误?这个问题是否与模拟器版本和设备/归档版本之间的特定项目设置不同有关?是否有一种更有效的替代方法来处理-ld 64链接器标志?如果有任何帮助或见解,来自那些面对并克服这个问题的人,我们将不胜感激。
2条答案
按热度按时间6tdlim6h1#
您是否链接到Google Nearby?Google Nearby依赖于GoogleUtilitiesLegacy,我怀疑此链接器问题源于此。
更新到Xcode 15后你遇到这个问题了吗?
我认为Google Nearby不再受支持,Xcode 15中的一些编译器/链接器更改正在解决GoogleUtilitiesLegacy代码中的别名问题。如果我们更新到MacoOS索诺马,您将被迫迁移到Xcode 15,因为索诺马不再支持Xcode 14。
如果你可以尝试使用Xcode 14进行构建,那么你可能不得不放弃使用Google Nearby或者在你自己的fork中修复这个问题。
3vpjnl9f2#
我添加了下面的链接器标志,问题解决了。
构建设置->其他链接器标志-> -ld 64