我试图创建一个基本的OS X框架,现在我刚刚创建了一个测试框架:TestMacFramework.framework,我试图将它导入到一个全新的OS X应用程序项目。

我已经构建了.framework文件并将其导入到新项目中,框架链接正常,我可以引用我添加到框架构建阶段部分的公共头文件。

然而,当我尝试运行容器应用程序时,我得到以下错误:

dyld: Library not loaded: /Library/Frameworks/TestMacFramework.framework/Versions/A/TestMacFramework
  Referenced from: /Users/samharman/Library/Developer/Xcode/DerivedData/TestMacContainer-dzabuelobzfknafuhmgooqhqrgzl/Build/Products/Debug/TestMacContainer.app/Contents/MacOS/TestMacContainer
  Reason: image not found

在谷歌了一下之后,我意识到我需要在我的容器应用程序构建阶段添加一个复制文件部分,所以我已经这样做了,并像这样设置它…

然而,我仍然得到运行时错误。显然我在这里做错了什么,但是苹果开发者库的资源引用了Xcode 2,所以不是很有帮助!

我错过了什么?

更新:

我可以在构建日志中看到我的TestMacFramework.framework被复制到.app contents/frameworks目录中,但它没有被安装到HD上的Library/ frameworks目录中

更新2:

如果我手动将TestMacFramework.framework复制到Library/Frameworks目录中,构建链接是正确的


当前回答

如果你不小心重置了你的钥匙链,这可能是由于在钥匙链中丢失了苹果证书。我遵循这个方法来解决我的问题。

我遇到了同样的问题,并通过重新下载WWDR(苹果全球开发者关系认证机构)来解决。 从这里下载:http://developer.apple.com/certificationauthority/AppleWWDRCA.cer

其他回答

当尝试Xcode 9测试版并返回到Xcode 8时,出现了问题。对目标进行简单的Clean就解决了这个问题。

对我来说,这就是解决方案,经过许多小时的搜索!!

出于某种原因,在Swift 2.3自定义框架的开发过程中,Xcode 8从项目中删除了DYLIB_INSTALL_NAME_BASE设置。pbxproj文件。稍微进入Build Settings / Dynamic Library Install Name Base设置回到@rpath就修复了它。

(来自https://forums.developer.apple.com/thread/4687)

我认为没有固定的方法来解决这个问题,因为它可能是由不同的原因引起的。我上周也有这个问题,我不知道什么时候以及究竟是什么原因导致了这个问题,只有当我用Xcode在模拟器上运行它或试图将它安装到手机上时,它才会报告这种错误,但当我用react-native run-ios与终端运行它时,没有问题。

我检查了网上发布的所有方法,比如更新证书,更改Xcode中的设置(上面提到的所有方法),实际上Xcode中的所有设置都已经按照要求设置了,没有一种方法适合我。直到今天早上,当我删除吊舱并重新安装时,错误终于在一周后出现。如果你也在使用cocoapod,然后错误就出现了,没有任何特定的原因,也许你可以试试我的方法。

看看我的cocoapods版本。 如果有可用的新版本,请更新它。 转到项目文件夹,删除Podfile。锁,Pods文件,项目xcworkspace。 运行pod安装

打开xcode ->通用->嵌入式二进制文件->添加QBImagepicker.framework和RSKImageCropper ->清洁项目

只要在嵌入式二进制文件中添加QBImagePicker.framework和RSKImageCropper.framework就可以了

我尝试了许多修复,但对我有效的是删除构建方案的构建选项卡中列出的缺失目标。您可以通过打开当前方案的编辑窗口来访问它。

编辑:我的UI测试目标不能正常工作,我找到的解决方案是删除它并重新生成它。