断言失败:(aliasSectionNum == sectionNum && “alias and its target must be located in the same section”),function assignAliasAtomOffsetInSecti

Assertion failed: (aliasSectionNum == sectionNum && "alias and its target must be located in the same section"), function assignAliasAtomOffsetInSecti

提问人:Mian Zeeshan Abid 提问时间:11/8/2023 更新时间:11/21/2023 访问量:265

问:

当我尝试在iOS真实设备中运行Ionic App或进行存档时,就会发生这种情况。 在(https://i.stack.imgur.com/y1dnu.png)模拟器中,它工作正常

我正在开发一个 Ionic 应用程序,在真实的 iOS 设备上运行它或尝试制作存档时遇到了构建问题。虽然应用在模拟器中运行良好,但在真实设备上失败并出现链接器命令错误。

这是出现的错误:

断言失败:(aliasSectionNum == sectionNum &&“别名及其目标必须位于同一部分”),函数assignAliasAtomOffsetInSection,文件布局.cpp,第 3248 行。 完整的错误输出可以在以下屏幕截图中看到:y1dnu.png

根据其他开发人员的研究和建议,我尝试使用以下终端命令启用核心设备支持:

默认写入 com.apple.dt.Xcode DVTEnableCoreDevice enabled 此外,我试图通过修改 Xcode 中的构建设置来解决此问题,如下所示:

导航到“生成设置”。 找到其他链接器标志。 添加了 -ld64 标志。 尽管进行了这些尝试,但问题仍然存在。

我尝试过:

清理 Xcode 中的构建文件夹并重新构建。 更新并重新安装所有项目依赖项,包括 CocoaPods。 搜索重复符号或冲突库的任何实例。 验证是否未链接任何过时或不兼容的库版本。 环境:

Xcode 版本:15 问题:

有没有人成功解决了类似的 Xcode 链接器命令错误? 此问题是否与模拟器版本和设备/存档版本之间不同的特定项目设置有关? 是否有 -ld64 链接器标志的替代方法可能更有效? 那些面对并克服了这个问题的人的任何帮助或见解将不胜感激。

ios ionic-framework cordova-plugins

评论


答:

0赞 ADude 11/9/2023 #1

您是否与 Google Nearby 链接? Google Nearby 依赖于 GoogleUtilitiesLegacy,我怀疑这个链接器问题源于此。

更新到 Xcode 15 后您是否遇到此问题?

我认为不再支持 Google Nearby,并且 Xcode 15 中的一些编译器/链接器更改正在使用 GoogleUtilitiesLegacy 代码中的别名来解决这个问题。如果我们更新到 MacoOS Sonoma,您将被迫迁移到 Xcode 15,因为 Sonoma 不再支持 Xcode 14。

如果您可以尝试使用 Xcode 14 进行构建,并且可能不得不放弃使用 Google Nearby 或在您自己的 fork 中修复该问题。

评论

0赞 Mian Zeeshan Abid 11/9/2023
是的,在 Xcode 之后。15 出现此错误
3赞 Naveed Rafi 11/9/2023 #2

我添加了以下链接器标志,问题已解决。

生成设置 -> 其他链接器标志 -> -ld64

0赞 coffidev 11/24/2023 #3

我正在使用 ionic 和 cordova 开发应用程序,并且遇到了同样的错误。

什么为我解决了什么将“iOS开发目标”更新到iOS 12.0,然后,将“-ld64”标志添加到“其他链接器标志”。

我想当我更改目标时,链接器标志被重置,因为我没有注意到标志再次丢失。

评论

0赞 coffidev 11/24/2023
作为参考,我在这篇中文帖子中找到了解决方案:cnblogs.com/dasonxie/p/17719260.html