【问题标题】:Error when migrating from Swift 1.2 to Swift 2从 Swift 1.2 迁移到 Swift 2 时出错
【发布时间】:2016-01-07 10:24:37
【问题描述】:

我在我的项目中使用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 原因:找不到图片

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

【问题讨论】:

  • 您能否确保在您的 Xcode 项目中正确嵌入了 Realm.framework 和 RealmSwift.framework ?检查您的构建阶段>嵌入式框架。
  • 实际上,我只是用 cocoapod 更新 Realm 框架,就像它写在领域文档上一样。但实际上,嵌入式框架似乎是空的。我该如何解决这个问题?

标签: swift realm realm-migration


【解决方案1】:

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

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

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

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

【讨论】:

  • 您好,Marius,非常感谢您的支持,但不幸的是,在按照您的回答后,尝试再试一次,我遇到了同样的错误。也许是因为我在您的回答中并不真正理解这句话:“(或者,您可以从链接库中删除聚合目标 Pods_.framework。)这应该确保重新创建所有构建阶段由 CocoaPods 提供。”链接库中的聚合目标 pods_.framework 是什么以及如何删除?你可以帮帮我吗 ?再次感谢文森特。
  • 我在答案中添加了一个屏幕截图和更多解释我所说的聚合目标的含义。如果您仍有疑问,请告诉我。
  • 您好 Marius,我重做您的所有说明(pod deintegrate... pod install..)。我重新打开我的项目,检查“Link with binaries with library”和“Embeded pods framework”(它们都可以)并尝试启动我的应用程序,但仍然出现错误“dyld: Library not loaded: @rpath/libswiftSecurity.dylib Referenced from : /private/var/mobile/Containers/Bundle/Application/E77DC716-808A-460F-93CD-049597FDFFF8/myPhotoCalendar.app/Frameworks/RealmSwift.framework/RealmSwift 原因:找不到图片"
  • 你好@marius 我成功地解决了这个问题,完全按照你的流程,但是在 de $pod deintegrate 之后进行 $pod update 而不是 $pod install .... 你知道为什么吗?跨度>
  • @Zipette:很高兴听到这个消息。我很困惑为什么它对你不起作用,老实说,我对它作为一种解决方案感到惊讶。您可能只是以这种方式规避了有问题的缓存。感谢您分享您的发现。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-20
相关资源
最近更新 更多