testing目标X遇到错误(早期意外退出,操作永远不会完成自举 – 不会尝试重新启动
我已经开始与OCMock合作编写我已经集成到项目工作区中的现有项目的testing用例。 按照此链接中提到的所有步骤
当我第一次执行testing用例时,给了我这个错误。 我search了它,并尝试了一些解决scheme,如“创build新的目标”,“重新启动Xcode”,但它没有帮助我。 任何想法?
我有我的笔记和演示应用程序的Cocoapods和迦太基在这里https://github.com/onmyway133/TestTarget
- 确保所有的框架链接到testing目标
- 将
Runpath Search Paths
configuration为指向$(FRAMEWORK_SEARCH_PATHS)
更多信息
- 运行path相关库
我正在使用迦太基,而我的问题是在testing目标中寻找依赖关系。 固定:
将$(PROJECT_DIR)/Carthage/Build/iOS
到Runpath Search Paths
你可以在这里find参考: 迦太基问题
我的解决scheme是添加一个“复制文件阶段”到我的testing目标。 在那里,我将目的地设置为框架,并用+符号添加了我的框架。
在我的情况下,链接的文件没有错。 模拟器被卡在应用程序触发的消息,如:“应用程序名称想给你发送通知”。 按下确定,下一次我的XCTests工作正常。
在我的情况下,Build Active Architecture Only被设置为YES。
在项目和目标中:构build设置 – >体系结构 – >构build主动体系结构只能是NO而不是YES
只是分享我对这个错误的经验:
我正在使用fastlane + cocoapods。
我有一个2个dynamic框架的工作区:
- A.framework
- B.framework
依赖关系:
- A取决于AFNetworking使用cocoapods
- B依赖于A.
在Podfile中定义了依赖关系。
这个错误引发了执行框架B的testing。
在我的情况下,这个问题与B.framework目标中对AFNetworking的缺失依赖有关。
在Podfile的B.framework中将AFD依赖关系添加到AFNetworking中,全部解决。
所以即使目标B编译成功,AFNetworking也没有embedded到Btesting应用程序中,模拟器无法运行Btesting应用程序,引发这个“非常有意义的”(*)错误。
(*)感谢苹果为此!
哇,我浪费了很多时间,我的testing包有“主机应用程序”选中我的应用程序。 其他testing包没有。
我预计这个解决scheme可能不是每种情况都适合的解决scheme,但是我的testing主要是testingdynamic库,它并不需要主机应用程序来运行。 我得到了上述错误,把它关掉让我运行testing没有得到这个错误和断点工作。 我正在运行MacOS,但它可能在其他环境中类似。 我预计这个解决scheme可能不是每种情况都适合的解决scheme,但是我的testing主要是testingdynamic库,它并不需要主机应用程序来运行。
在testing包上转到常规 – >testing – >将“主机应用程序”设置为无。
希望能分享我的答案,希望能为别人节省时间。
对于我.m文件没有正确链接下生成阶段 – >编译源
就我而言,我已经在头文件中声明了一个只读属性:
// In .h file @property (nonatomic, readonly) NSUInteger count;
但我忘了把这个声明添加到.m中,所以会产生一个setter:
// In .m file @property (nonatomic, assign) NSUInteger count;
愚蠢的错误,不完全确定为什么它performance在这个错误,但添加到.m的行解决了这个问题。
在我的情况下,我的生成设置 – >体系结构只为armv7设置,我更改为ARCHS_STANDARD是我的主机应用程序
我的情况很特殊。 我使用了2个文件作为testing类。 一个完美工作,另一个有这个错误。
两者都在相同的框架下链接。
只需清除派生的数据
窗口 => 项目 => 删除 (在您的项目)
祝你好运,快乐的testing!
在我的情况下,我没有添加一个运行脚本阶段的快速和灵活的库,我使用迦太基整合。
对我而言,我必须在设备的“设置 – >常规”下的“设备pipe理”中“信任”开发者。 (设置 – >一般 – >设备pipe理 – > DeveloperID – >'信任应用程序')当我正在运行应用程序通过侧面加载使用我的苹果ID。