入口点 (_main) 未定义。对于架构 x86_64 - 仅 XCode UITesting

Posted

技术标签:

【中文标题】入口点 (_main) 未定义。对于架构 x86_64 - 仅 XCode UITesting【英文标题】:entry point (_main) undefined. for architecture x86_64 - XCode UITesting only 【发布时间】:2016-12-08 12:40:14 【问题描述】:

我仅在尝试运行 UITests 时收到此错误。我没有使用故事板,构建应用程序运行良好,单元测试也运行良好。

在我的 AppDelegate 中有 @UIApplicationMain 我的 info.plist 中没有故事板文件或对故事板文件的引用。 尝试清理/重建,重新启动 xcode

即使录制 UITests 也可以正常工作并且能够打开应用程序。只是当我尝试运行实际测试时,我得到了错误。

也许我在某处缺少目标或需要向 XCUIApplication 启动参数添加一些内容?有什么想法吗?

【问题讨论】:

【参考方案1】:

由于单元测试正在运行,我最终比较了单元测试和 UI 测试的构建设置下链接部分中的每一行。

以下是我为使 UI 测试开始工作而进行的更改:

在捆绑加载器下我必须添加 $(TEST_HOST)

在设置为可执行的 Mach-O 类型下,我不得不将其更改为 Bundle。

【讨论】:

改变 Mach-O 类型对我来说是关键!

以上是关于入口点 (_main) 未定义。对于架构 x86_64 - 仅 XCode UITesting的主要内容,如果未能解决你的问题,请参考以下文章

架构 x86_64 的未定义符号:编译问题

UITest 失败,错误为 'ld: entry point (_main) undefined。对于架构 x86_64'

架构 x86_64 / i386 的未定义符号

Cordova - 架构 x86_64 的未定义符号

GoogleMapsSDK:架构 x86_64 的未定义符号

Quickblox:架构 x86_64 的未定义符号:错误