从Swift 1.2迁移到Swift 2时出错

时间:2016-01-07 10:24:37

标签: swift realm realm-migration

我在我的项目中使用Realm,到目前为止一直很棒!我已从swift 1.2迁移到Swift 2,现在我在设备上编译代码时遇到错误(不在模拟器上)。

这是错误:

  

dyld:未加载库:@ rpath / libswiftSecurity.dylib引用   从:   /private/var/mobile/Containers/Bundle/Application/64E2D461-F95C-4E86-B3D3-5FAAA00AF77C/myPhotoCalendar.app/Frameworks/RealmSwift.framework/RealmSwift   原因:未找到图像

我真的不明白这意味着什么。我尝试了一些技巧但到目前为止它们都没有。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

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

似乎就是这种情况,因为您的项目中缺少构建阶段“Embed Pods Frameworks”。请确保CocoaPods是最新的。 (gem update cocoapods)然后,您可能希望按pod deintegrate使用集成,然后重新从头开始重新安装。 (或者,您可以从链接库中删除聚合目标Pods_*.framework。)这应该确保CocoaPods重新创建所有构建阶段。

对于参考,您应该在项目的目标中具有如下所示的构建阶段:

build phases in Xcode

上面提到的聚合目标框架在“链接二进制文件库”窗格中显示为Pods.framework。名称取决于您是否集成了项目的多个目标以及它们的命名方式。所以它也可以命名为Pods_YourApp.framework