dyld:Library未加载:@ rpath / libswiftCore.dylib / Image not found
我从xcode运行我的应用程序到我的iOS设备,我得到这个和iOS设备上的黑屏。
控制台文本:
dyld: Library not loaded: @rpath/libswiftCore.dylib Referenced from: /private/var/mobile/Containers/Bundle/Application/10DB2FE8-EF09-4857-B4AC-0DB2E4419D6F/App-Name.app/App-Name Reason: image not found (lldb)
尝试将以下行添加到目标的运行pathsearchpath 。
@executable_path/Frameworks
your_target – >生成设置 – >链接 – > 运行pathsearchpath
我有同样的问题。 我最终在通用>embedded式二进制文件 , 通用>链接框架和库下添加了框架, 并使用库 构build了链接二进制文件 。 embedded式二进制文件似乎是我的关键
对我来说,有助于将@executable_path/Frameworks
添加到项目运行pathsearchpath中,而不是目标。 your_project – >生成设置 – >链接 – >运行pathsearchpath
没有其他的解决scheme帮助我,但一切都通过删除Xcode的派生数据目录。
我必须将“embedded式内容包含Swift代码”切换到“是”,以便在使用Swift对象更新Obj-Cembedded式框架后使Obj-C应用程序能够正常工作。
我面临同样的问题,设置正确的代码标识身份解决了问题(生成设置 – >代码签名标识)。
根据Apple技术问题,“iOS 8发布后创build的所有企业级和标准iOS开发人员证书都有适当位置的新Team ID字段,以允许Swift语言应用程序运行”
我通过删除所有来解决这个问题:
/ Users /“yourOSXusername”/ Library / Developer / Xcode / DerivedData文件夹。
祝你好运!
哦,是的。 我在解决scheme上花费了数小时的时间。 您可以尝试在“生成设置”>“生成选项”下将“始终embeddedSwift标准库”设置为“是”
(不要忘了在你的项目之后转移+ cmd + K)
我有同样的错误信息,那就是我解决它的方法:
问题来自Xcode自动生成的证书。 我不得不吊销这些证书dans从developer.apple.com生成它们
解决的办法是: – 转到developer.apple.com /证书 – >撤销证书或进入Xcode>首选项>帐户>查看详情>select标识身份> clic设置whell>撤销 – 有developper.apple.com和按照说明生成新的证书 – 在我的项目中的Xcode:去代码签名身份和签署两个debugging行与生成的证书 – 两个版本行设置为“iOS开发人员” – 然后项目>清洁 – 生成并运行设备
@ Saikiran的回答工作。
我的证书是在iOS 8发布之前生成的。 我吊销了所有的证书并重新创build了所有的configuration文件,并立即解决了我的问题。
我没有足够的声望来投票@ Saikiran的回答,但这绝对有助于解决问题。
我已经正确设置了Runpath Search Paths,但仍然无法正常工作。 @Justin Domnitz的回答让我走上了正确的轨道:在我的目标的构build设置中将“总是embeddedSwift标准库”设置为“是”对我来说是个诀窍。
我有同样的错误消息,这是我如何解决它:这是因为我改变了包标识符,所以我只是把旧的捆绑ID,它开始工作了
对我来说已经设置了选项
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES
在项目 – >生成设置 – >生成选项是YES
(通过Cocoapods的Namirial框架)
似乎这个问题是由Swift文件包含在Objective-C自定义框架中引起的。 也不确定是否相关,但我的应用程序目标也是在Objective-C中构build的。 也在模拟器中进行debugging。 尚未validation是否已发布或归档。
另外,项目目标的运行pathsearch设置已设置为“@ executable_path / Frameworks”和“@ loader_path / Frameworks”框架的目标设置中的“@ executable_path / Frameworks”。
在尝试重新构build自定义框架并重新附加到应用程序目标之后,清除派生的数据文件夹和其他一些build议之后,最终为我工作的是更改了Project target中针对自定义框架项目(不是应用程序目标)的构build设置:“Always Embed Swift标准库“改为”是“。 应用程序目标设置的设置似乎并不重要。 我通过重置模拟器和重build来validation这一点。 这与Daniele Ceglia的答案类似,但我无法添加评论,并希望提供更多的清晰度。
对于我重启模拟器解决了这个问题。
我试了一堆上面的情况,似乎没有解决我的问题。 我使用git和cocoapods作为一个项目,并且一旦我做了一个新的提交,错误就消失了。
我之前在iPod touch iOS 9.3中遇到过这个问题。 我使用了这篇文章中提到的所有方法,但都没有工作。 我检查了我的项目设置。 而在另一个链接标志,我发现我加了-Wl,-sectcreate,__RESTRICT,__restrict,/dev/null
。
这个标志可以防止越狱手机中的插入。 当我删除这个标志,应用程序可以再次启动。 我不知道为什么它的工作。 因为在iOS中,我不需要删除这一行。 但它确实在iPod touch iOS 9.3中工作。 所以检查一下,如果你有像我一样的情况。
对我来说清理项目解决了这个问题!
当在不同的Swift版本中使用框架构build时,也会出现这个错误信息,例如,如果您升级Xcode。
在框架目标(不是应用程序),转到生成设置>生成选项>总是embedded标准的Swift库到YES。
这解决了我的问题!