更新 Xcode 后,我的 Swift 3 项目无法正常运行,但构建成功

Posted

技术标签:

【中文标题】更新 Xcode 后,我的 Swift 3 项目无法正常运行,但构建成功【英文标题】:After updating Xcode my Swift 3 project doesn't run correctly but builds successfully 【发布时间】:2016-10-18 07:41:42 【问题描述】:

更新我的 Xcode 后,一个功能齐全并准备启动的项目现在在运行时中断,但在编译时没有给出错误或警告。

我怀疑我的模拟器或 Alamofire 4 是问题所在,但我似乎找不到它行为不端的原因。我所能弄清楚的是,Alamofire 文件在提供给模拟器之前没有正确解析,或者模拟器在构建时跳过了解析过的 Alamofire 文件。

如果有人知道如何解决此问题,请提供帮助。

这就是它崩溃的地方:

dyld`__abort_with_payload:
    0x599c34 <+0>:  movl   $0x209, %eax              ; imm = 0x209 
    0x599c39 <+5>:  calll  0x59a3f0                  ; _sysenter_trap
->  0x599c3e <+10>: jae    0x599c4e                  ; <+26>
    0x599c40 <+12>: calll  0x599c45                  ; <+17>
    0x599c45 <+17>: popl   %edx
    0x599c46 <+18>: movl   0x10553(%edx), %edx
    0x599c4c <+24>: jmpl   *%edx
    0x599c4e <+26>: retl   
    0x599c4f <+27>: nop    

带有以下消息:“线程 1:信号 SIGABRT” 在我的控制台中我得到:

dyld: Library not loaded: @rpath/Alamofire.framework/Alamofire
  Referenced from:         /Users/stackle005/Library/Developer/CoreSimulator/Devices/5D244AC3-834B-   401B-BA73-0664E95327DF/data/Containers/Bundle/Application/BD754A02-4BFA-    4460-9603-51C94683A286/StackleApp.app/StackleApp
  Reason: image not found
(lldb) 

【问题讨论】:

从模拟器中删除应用后尝试 【参考方案1】:

你的错误日志的解释是:“linker found the library, but can't use it.

检查并按照以下步骤操作:

    从 CoreSimulator 中清除旧的构建数据,从 Simulator/设备中删除应用程序。

    转到 项目设置 -> Your_Target->常规 -> 嵌入式二进制文件 -> 点击 + 按钮并在此处添加您的库

希望对你有帮助!

【讨论】:

很好的答案!工作得很好。

以上是关于更新 Xcode 后,我的 Swift 3 项目无法正常运行,但构建成功的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 项目更新到 Xcode 到 6.3 后显示错误

Xcode 7.0 Swift 更新问题

Xcode8/Swift 3 更新后缺少 Firebase 标头警告

pod安装后Xcode 8 swift pod标头为空

我如何继续使用 Swift 2.3 而不是 3.0,Xcode 已更新且无法再构建

Xcode 9:使用 Swift 3.1 编译的模块无法在 Swift 4.0 中导入