原因:找不到合适的图片。
dyld: Library not loaded: @rpath/libswiftCore.dylib Referenced from: /var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/Stylist.app/Stylist Reason: no suitable image found. Did find: /private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib: mmap() errno=1 validating first page of '/private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib' (lldb)
我在iPhone上构build时出现此错误。 我能够在模拟器上构build。 我已经重新提供了所有的供应文件,但是仍然无法在我的iPhone上构build。 我的Xcode是这样的
这是一个框架问题还是一个签名问题? 这在Xcode 6中没有发生。谢谢。
我之前有这个问题,意外地吊销了我的证书。 那么我所有的快捷项目都有这个问题。 有两种方法可以解决这个问题:
点击产品 – >清洁(或CMD-Shift-K)
或者手动清理Xcode设置文件:
rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache" rm -rf ~/Library/Developer/Xcode/DerivedData rm -rf ~/Library/Caches/com.apple.dt.Xcode
我不知道为什么。 祝你好运,看看是否有帮助。
我在这个问题上search了很久。 造成这个问题的原因有几个。
如果您在Objectice C项目中遇到Swift代码/库,您应该尝试解决scheme1-2-3
如果您正在使用新的Swift项目解决此问题,解决scheme4将最适合您。
解决scheme1 :
重新启动Xcode,然后电脑和iPhone
解决scheme2 :
转到项目构build设置并将Embedded Content Contains Swift
代码标志设置为YES
解决scheme3:
转到项目构build设置并将@executable_path/Frameworks
添加到“运行pathsearchpath”选项
解决scheme4:
如果以上都不起作用,应该这样做。 在AirSign的post中提到,苹果似乎是忍者补丁证书
InHouse证书
Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, O=Company Name, C=FR
他们添加了一个名为OU
的新字段
Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, OU=269J2W3P2L, O=Company Name, C=FR
所以你应该重新创build证书和configuration
Xcode->Product->Clean + Xcode Restart
尝试了许多其他提到的解决scheme后,我的永远尴尬,做一个Xcode->产品 – >清理和重新启动Xcode,做了伎俩。
如果您不小心重置了钥匙串,则可能由于钥匙串中缺lessApple证书而发生这种情况。 我遵循这个答案来解决我的问题。
我有同样的问题,并能够通过重新下载WWDR(苹果全球开发者关系authentication机构)来修复。 从这里下载: http : //developer.apple.com/certificationauthority/AppleWWDRCA.cer
对我来说,这个问题是由于WWRD证书出现的 – 我的矿是最新的,但由于某种原因,它被设置为“始终信任”,而不是“使用系统默认”,这显然有所作为。
删除DerivedData为我做了诡计。
是通过Xcode – > Preferences – > Locations – >点击了DerivedDatapath后面的箭头,并删除了Finder中的整个DerivedData文件夹。
在通过xcodebuild和xcrun PackageApplication在命令行中构build应用程序时,它发生在我身边,用企业configuration文件对应用程序进行签名。 在CI构build服务器上,证书在钥匙串中设置为“始终信任”(select证书 – >获取信息 – >信任 – >“使用系统默认值”可以更改为“始终信任”)。 我必须将其设置回“使用系统默认值”才能完成此项工作。 最初,我们将其设置为“始终信任”来解决在软件更新和证书更新之后出现的钥匙串对话框。
在播种更加混乱的风险下,更新到XC8时我遇到了这个问题。
这些build议以及其他任何线索都没有解决这个问题。 DID的工作原理是从“Link Binary with Libraries”构build阶段,“Target Dependencies”构build阶段以及“Linked Frameworks and Libraries”常规设置中删除所有内容。
仅供参考,我正在使用Carthage,并在FRAMEWORK_SEARCH_PATHS
构build设置中添加了$(PROJECT_DIR)/Carthage/Build/tvOS
,以便可以find我的框架。
仅供参考2,这个项目和框架,100%迅速,框架正在build设DEFINES_MODULE = YES
。
我也有这个问题,但是我没有尝试上面和其他几个职位工作..除了这一点。
对我而言,我更改了包标识符,因为我们有一个不同的发行版捆绑ID。
我的硬件是允许这个规定,我的团队帐户是有效的,但它是在其他框架抛出上述错误。
原来,我需要完全从我的手机中删除旧版本的应用程序。 而不只是删除它的标准方式。
解答:
- 确保目标手机已连接
- 从xcode菜单中单击[Window> Devices]
- select左侧菜单中的目标设备。
- 在右边将是您的设备中的应用程序列表。 find您试图testing并删除它的应用程序。
很明显,在同一团队下安装同一个应用程序下的不同捆绑ID,如果你不是从头开始完全,有一些框架的引用变得混乱。
希望这有助于某人。
我刚刚通过alt Product菜单清理了项目和Clean Build Folder
你可能没有在这个库中的正确的拱门,你可以做一个
file /private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib
它应该显示你在该库中的拱门…我不知道你是如何链接,但它可能不是正确的方式(如果libswiftcore是一个工厂库,如果它是一些添加库,然后它可能是编译不正确)
引用自技术问答QA1886:
当试图引用Swift库libswiftCore.dylib时,Swift应用程序崩溃。
问:当我尝试运行Swift语言应用程序时,我的设备控制台中的libswiftCore.dylib加载错误怎么办?
答:要解决此问题,您需要使用代码签名证书为主题组织单位(OU)设置您的团队ID来签署您的应用程序。 在iOS 8发布之后创build的所有企业级和标准iOS开发人员证书都有适当位置的新Team ID字段,以允许Swift语言应用程序运行。
通常,这个错误会出现在设备的控制台日志中,其消息类似于以下内容之一:[….] [deny-mmap]映射文件没有组标识符,也不是平台二进制文件:/ private / var / mobile /容器/包/应用/ 5D8FB2F7-1083-4564-94B2-0CB7DC75C9D1 / YourAppNameHere.app /框架/ libswiftCore.dylib
Dyld Error Message: Library not loaded: @rpath/libswiftCore.dylib Exception Type: EXC_BREAKPOINT (SIGTRAP) Exception Codes: 0x0000000000000001, 0x0000000120021088 Triggered by Thread: 0 Referenced from: /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/TestApp Reason: no suitable image found. Did find: /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib: mmap() error 1 at address=0x1001D8000, size=0x00194000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib Dyld Version: 353.5
build立归档并打包应用程序时需要新证书。 即使你有一个新的证书,只要辞职现有的swift应用程序存档将不起作用。 如果它是使用iOS 8之前的证书构build的,则需要构build另一个存档。
重要提示:如果您需要撤销并设置新的企业分发证书,请谨慎使用。 如果您是企业内部开发人员,则需要注意不要吊销用于对应用程序进行签名的分发证书,因为您的企业员工仍然使用任何已使用该企业分发证书签名的应用程序将立即停止工作。 以上仅适用于企业分发证书。 对于企业/标准iOS开发人员来说,开发证书是安全的。
正如AirSign的员工在内部证书的主题字段中声明缺失OU属性的问题所在。
主题:UID = 269J2W3P2L,CN = iPhone分布:公司名称,OU = 269J2W3P2L,O =公司名称,C = FR
我有一个企业发展证书,创build一个新的解决了这个问题。
以下步骤成功解决。
1)在dynamic库中,安装名称必须是“@loader_path”
2)在主项目中,运行pathsearchpath必须是“@loader_path”和“@ loader_path / Frameworks”
3)从钥匙串使用的视图 – >显示过期的证书,并删除了一切。
4)删除分发证书并重新安装。
5)下载了developer.apple.com/certificationauthority/AppleWWDRCA.cer并安装。
您可以重新生成您的证书并重新启动您的iPhone。
这个工作对我来说,我希望这对你有所帮助。
我通过检查我的本地钥匙链来解决问题。保持login.keychain具有正确的证书
我最近面临这个问题。 我尝试了所有可能的解决scheme,但没有奏效 最后,我刚刚退出Xcode,删除钥匙串中的证书,并安装一切新鲜,重新启动的Mac。 幸运的是它像魅力:)
我有同样的问题,并能够通过重新下载WWDR (Apple Worldwide Developer Relations Certification Authority)
来修复。 从这里下载:
并在钥匙串中设置为始终信任 。 更改为Use System Default
它为我工作,我希望这可以帮助你
在我的情况下,钥匙串显示证书是不可信的,为了解决这个问题,我把证书的信任选项设置为“总是信任”。 将证书设置为“始终信任”是导致崩溃的主要原因。 我无法将应用程序安装到设备中。 通过将信任选项设置为“系统默认值”而不是“总是信任”解决了这个问题。它为我工作。
如果您在Xamarin Studio中工作,并且您正在引用一个便携式库,您需要执行PCL诱饵并切换技巧,则会看到相同的症状。 如果引用项目相对于引用的库过期,则会发生这种情况。 我发现我更新了我的公共库到一个新的框架,更新我的包,但没有更新我的iOS包匹配。 更新包解决了这个错误。
您需要为您在项目中直接或间接链接的每个dynamic框架设置证书(只是证书和不供应configuration文件)
在我的情况下,删除Xcode创build的所有authentication并下载后。 让xcode 8.1pipe理应用程序的authentication,它运作良好! 希望这可以帮助别人。
我只在模拟器上遇到过这个问题。 这似乎与我们的应用程序中的一些无效权利有关,但是当我们在设备上运行时,问题不会出现。
我解决了使用这些技巧。
步骤1:
转到项目构build设置并将@ executable_path / Frameworks添加到“运行pathsearchpath”选项
第2步:
转到目标构build设置并将@ executable_path / Frameworks添加到“运行pathsearchpath”选项和“框架searchpath”。
第3步:
重新下载WWDR(苹果全球开发者关系authentication中心),设置为“使用系统默认”作为选项。
步骤4:
使用terminal删除所有派生数据
rm -rf〜/ Library / Developer / Xcode / DerivedData / *
第5步 :
删除所有证书并将其重新安装到钥匙串。 我启用了使用系统默认选项。
第六步:
重新启动Xcode。
- 从设备中删除应用程序
- 清理项目( CMD + SHIFT + K )
- 在设备上构build/运行
面临同样的问题
- 我的开发者证书已过期,因此创build了新的开发者证书并下载
- 清理并重新启动xcode这对我有用
我遇到了XCode 9这个问题。以上都没有解决。 这为我做了诡计:
Project > Build Settings > Swift Compiler - Search Path: Setting "Import Paths"
为$(PROJECT_DIR)
(recursion)
这解决了我的错误 –
重新下载WWDR(苹果全球开发者关系authentication中心),设置为“使用系统默认”作为选项。
就我而言,这是我使用的一个豆荚的问题。 我结束了删除该窗格,并将其代码手动放入我的项目。