我刚刚下载了Xcode 6 beta 4,我的swift项目编译没有错误,但在它到达我的代码之前,我得到一个dyld_fatal_error就在调用堆栈的开头.
和带有nop指令的汇编代码中的断点
我得到的控制台错误是
dyld: lazy symbol binding failed: Symbol not found: __TFSsa6C_ARGVGVSs13UnsafePointerGS_VSs4Int8__ Referenced from: /Users/username/Library/Developer/Xcode/DerivedData/Sudoku-dhrdonaeqzsgcvewndimxbbsltnc/Build/Products/Debug/Sudoku.app/Contents/MacOS/Sudoku Expected in: /Users/username/Library/Developer/Xcode/DerivedData/Sudoku-dhrdonaeqzsgcvewndimxbbsltnc/Build/Products/Debug/Sudoku.app/Contents/MacOS/../Frameworks/libswift_stdlib_core.dylib dyld: Symbol not found: __TFSsa6C_ARGVGVSs13UnsafePointerGS_VSs4Int8__ Referenced from: /Users/username/Library/Developer/Xcode/DerivedData/Sudoku-dhrdonaeqzsgcvewndimxbbsltnc/Build/Products/Debug/Sudoku.app/Contents/MacOS/Sudoku Expected in: /Users/username/Library/Developer/Xcode/DerivedData/Sudoku-dhrdonaeqzsgcvewndimxbbsltnc/Build/Products/Debug/Sudoku.app/Contents/MacOS/../Frameworks/libswift_stdlib_core.dylib
只是因为你知道该项目仍在编译,并且在Xcode 6 beta 3中运行良好.
确定这个错误非常无益:
dyld`dyld_fatal_error: -> 0x1200ad088 <+0>: brk #0x3
这当然只发生在设备上,而不是模拟器上.始终在设备上进行测试的另一个好理由.
无论如何,有同样的问题,干净对我不起作用.删除DerivedData也没有帮助.还尝试同步部署目标版本.这似乎没有任何区别,但无论如何我做到了.
解决方案是在Target - > General下将任何动态框架添加到Embedded Binaries设置:
现在我知道其他答案中已经提到了.但是,如果我可以补充说任何依赖的动态框架也必须包括在内.
因此,举例来说,如果你有一个动态的框架,一个是取决于动态的框架乙,那么它必须有一个和乙加入到嵌入式二进制文件.
请注意,如果动态框架A依赖于任何静态库或框架,您几乎肯定会被迫创建一个包含依赖二进制文件的伞形框架.
其他考虑因素可能重要,也可能不重要.然而,亲自为我做了成功的结果;
检查器中每个动态库的路径都设置为"相对于组".在上面的屏幕抓取中,嵌入式二进制文件的路径显示正确终止"build/Debug-iphoneos"
.
动态框架在嵌入式二进制文件部分中.作为框架包装的静态库和静态库位于链接框架和库中.两个部分都没有出现.
在设置这个时,XCode表现得很奇怪.以下证明是成功的:
将动态框架添加到嵌入式二进制文件中.
在左侧的XCode组中查找新框架,并将路径更新为 "相对于组",如前所述.
从嵌入式二进制文件中删除动态框架.
再次将动态框架添加到嵌入式二进制文件中.该路径现在应该正确显示.
从"链接的框架和库"部分删除对动态框架的所有引用.
我最近遇到了这个问题,对我来说问题是我在同一个项目中添加了一个库,该库未在"常规"部分的"嵌入式二进制文件"中列出.
注意:如果您在嵌入式二进制文件中添加它,它也将添加到链接库部分,可能会添加相同的两次.
清洁和构建将无法正常工作.您需要删除〜/ Library/Caches/com.apple.dt.Xcode*目录中的缓存.删除这些并重建.
每次升级测试版时都这样做.
我试图将自定义iOS框架链接到我的项目时遇到了这个问题,因此对于那些有这个问题的人来说,这与复制文件构建阶段有关.
我认为无法找到文件时会出现此错误.因此,在项目的相应目标中创建复制文件构建阶段.然后将文件(在我的情况下是自定义框架)添加到此阶段(如果它是框架,请确保选择'Frameworks'目标).
像这样的极其奇怪的问题可以通过Clean&Build(或者重新启动Xcode)来解决.您也可以考虑从〜/ Library/Developer/Xcode/DerivedData中删除相关文件夹.
清理,重新启动,删除等对我来说不起作用.
我有一个包含另一个项目的项目.当我在iOS 7上运行项目并且在代码中访问包含的项目时,应用程序停在以下行:
多天后,我看到容器项目的部署目标是7.0 (如下所示).
该包含在另一方面项目,有的部署目标8.1 (因为可以看到下面).
将包含项目的部署目标更改为7.0解决了我的问题!
该项目在iOS 8设备上运行良好.