从 Swift 1.2 迁移到 Swift 2 时出错

Error when migrating from Swift 1.2 to Swift 2

我在我的项目中使用了 Realm,到目前为止一切都很好!我已经从 swift 1.2 迁移到 Swift 2,现在在 device(不是模拟器)上编译代码时出现错误。

这是错误:

dyld: Library not loaded: @rpath/libswiftSecurity.dylib Referenced from: /private/var/mobile/Containers/Bundle/Application/64E2D461-F95C-4E86-B3D3-5FAAA00AF77C/myPhotoCalendar.app/Frameworks/RealmSwift.framework/RealmSwift Reason: image not found

我真的不明白这是什么意思。我尝试了一些技巧,但到目前为止 none 有效。任何人都可以帮助我吗?

您看到此错误,因为您使用的是动态框架,但它们未复制到您的应用程序包中。在模拟器上,动态链接器仍然可以在构建产品目录中找到构建的框架。但这不存在于执行您的应用程序的设备沙箱中。

情况似乎是这样,因为您的项目缺少构建阶段 "Embed Pods Frameworks"。请确保 CocoaPods 是最新的。 (gem update cocoapods) 然后您可能想再次从头开始使用 pod deintegrate 和 re-install 的集成。 (或者,您可以从链接库中删除聚合目标 Pods_*.framework。)这应该确保所有构建阶段都是 CocoaPods re-created。

作为参考,您的项目目标中应该有如下所示的构建阶段:

提到的聚合目标框架在 "Link Binary With Libraries" 窗格中显示为 Pods.framework 此处。名称取决于您是否集成项目的多个目标以及它们的命名方式。所以也可以命名为Pods_YourApp.framework.