Xcode 7 Beta 6,dyld ___NSArray0__崩溃

时间:2015-08-25 18:55:31

标签: ios xcode core-foundation beta xcode7-beta6

我第一次能够在Xcode 7中编译我的应用程序(在测试版4和5中失败)。所以,我猜这是个好进展。

然而,当我在iPhone 6,iOS 8.4.1上加载我的应用程序时,它在调试器中崩溃,并显示以下消息:

dyld:未找到符号: _NSArray0   参考自:/private/var/mobile/Containers/Bundle/Application/0294DF62-AE80-485D-BB11-8C3A5D39777D/Boxtiq.app/Boxtiq   期望:/ System / Library / Frame / CoreFoundation.framework / CoreFoundation 在/private/var/mobile/Containers/Bundle/Application/0294DF62-AE80-485D-BB11-8C3A5D39777D/Boxtiq.app/Boxtiq

这是否与链接库的顺序有关?期待一些建议。

谢谢!

7 个答案:

答案 0 :(得分:22)

我把它放在podfile中来修复它。 平台:ios,'8.4' 无需将您的设备更新到iOS 9并且无法进行8.4测试。

答案 1 :(得分:19)

我遇到了同样的错误,我修好了。 我删除了CoreFoundation.framework并再次使用状态“可选”添加并工作。

答案 2 :(得分:6)

如果在运行单元测试时有其他人这样做,请执行以下操作:

  1. 选择单元测试目标
  2. 转到“构建设置”
  3. 搜索'部署目标'
  4. 将部署目标版本更改为项目的部署目标
  5. 那就是它!

    enter image description here

答案 3 :(得分:4)

我也有这个问题,我通过在构建设置中添加框架CoreFoundation.framework来修复它。

答案 4 :(得分:4)

这是使用新XCODE版本在iOS8版本上的问题,请删除CoreFoundation.framework并再次添加状态为“Optional”。

答案 5 :(得分:2)

我在更新Xcode for 7.0 GM版本(7A218)后编译mac os项目时遇到了同样的错误。 Xcode 7只有10.11 sdk(您可以在/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs中检查它,它是MacOSX10.11.sdk)。

在编译时,xcode将链接来自/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks的框架,但是在运行时/ System / Library / Frameworks /我猜。

我在Mac上有OS X 10.10.5(14F27)。要么我有我的静态库,我是由xcode 7构建的(你记得从前面开始的MacOSX10.11.sdk),我之后链接到我的项目。运行后我得到了运行时错误

  

dyld:未找到符号:_NSArray0

我认为这是因为该库已经使用来自mac os sdk 10.11的CoreFoundation.framework进行编译,但是在运行时从/ System / Library / Frameworks /链接到CoreFoundation.framework,其中的版本是10.10(作为OS版本)

我是如何解决这个问题的。我的朋友还有xcode 6,我从那里拿了mac os sdk 10.10(你记得在/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs,名字是MacOSX10.10.sdk)并将其添加到我的Xcode中。然后我使用10.10 sdk重建我的静态库(你可以使用'-sdk macosx10.10'参数从cli编译或在Build Settings => Base SDK中设置build sdk)。问题解决后。

我认为对于iOS,您可以采用相同的策略。

答案 6 :(得分:1)

我在安装了第一个iOS 9测试版的设备上遇到了运行Xcode 7.0 beta 6的严重崩溃,但是在使用模拟器时没有发生崩溃。

将我的iPhone更新到iOS 9 beta 5后,崩溃停止了。