swift 遇到问题篇

dyld: Library not loaded: @rpath/Pods.framework/Pods

  Referenced from: /private/var/mobile/Containers/Bundle/Application/26B91138-7483-40B0-9BE6-D27072472895/AppName.app/AppName

  Reason: image not found

(lldb)

首先了解一下:Bitcode 介绍

当项目进行编译时,Xcode 使用 clang 或者 swiftc 对项目进行编译,然后交给 LLVM 来创建二进制的包,以适配虚拟机(x86/64)和真机(arm6/arm7/arm7s/arm64)环境。这样得来的二进制包,被称为“胖二进制包”(Fat Binary)。

如果启用 Bitcode 的话,那么生成“胖二进制包”的过程会被去掉,LLVM 只会生成一个中间语言 bitcode 包。这么干是有不少好处的,但是就不能在所有环境运行了,所以后面一步打包工作总是需要有人来做的——App Store来干这个事儿。这样一来,包体积更小,运行也更快了,也是 iOS9 “瘦身功能”的一部分。未来,所有的 WatchOS 应用会强制 bitcode 提交,但 iOS 应用还没有这个要求。

解决办法如下:

解决方案是点击 target 的 Build Settings,切换到 All,搜索 bitcode,将其设置为 No,即可编译通过。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容