Ios 原因:未找到合适的图像

Ios 原因:未找到合适的图像,ios,iphone,xcode,dyld,Ios,Iphone,Xcode,Dyld,我在iPhone上构建时遇到了这个错误。我能够建立在模拟器上。我已经重做了我所有的供应文件,但我仍然无法在我的iPhone上构建。我的Xcode是这样的 这是一个框架问题还是一个签名问题?这在Xcode 6中没有发生。多谢各位 你可能没有正确的拱门,你可以做一个 file/private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/lib

我在iPhone上构建时遇到了这个错误。我能够建立在模拟器上。我已经重做了我所有的供应文件,但我仍然无法在我的iPhone上构建。我的Xcode是这样的


这是一个框架问题还是一个签名问题?这在Xcode 6中没有发生。多谢各位

你可能没有正确的拱门,你可以做一个

file/private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib


它应该会告诉你图书馆里的拱门。。。我不确定您是如何链接的,但这可能不是正确的方法(如果libswiftcore是一个工厂库,如果它是一些附加库,那么它可能没有正确编译)

我在这个问题上搜索了很久。造成这个问题的原因有几个

如果您在Objectice C项目中使用Swift代码/库时遇到问题,您应该尝试解决方案1-2-3

如果您使用新的Swift项目解决方案来解决此问题,那么Swift项目解决方案4将最适合您

解决方案1

重启Xcode,然后重启电脑和iPhone

解决方案2

转到“项目生成设置”,并将
嵌入内容包含Swift
代码标志设置为“是”

解决方案3:

转到项目生成设置并将
@executable_path/Frameworks
添加到运行路径搜索路径选项

解决方案4:

如果上述任何一项都不起作用,则应该这样做。正如AirSign的帖子中提到的,苹果似乎是一个贴有忍者补丁的证书

在内部证书

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) 
他们添加了一个名为
OU

Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, O=Company Name, C=FR

所以,您应该重新创建证书并设置

我以前遇到过这个问题,因为我的证书被意外吊销了。那么我所有的swift项目都有这个问题。有两种方法可以解决此问题:

单击产品→清洁(或CMD+Shift+K)

或者手动清理Xcode设置文件:

Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, OU=269J2W3P2L, O=Company Name, C=FR

删除衍生数据为我带来了好处


通过Xcode->Preferences->Locations->单击DerivedData路径后面的箭头并删除Finder中的整个DerivedData文件夹。

如果意外重置密钥链,这可能是由于密钥链中缺少Apple证书造成的。我跟着答案解决了我的问题


我也有同样的问题,并且能够通过重新下载WWDR来修复 (苹果全球开发者关系认证机构)。 从这里下载:


我也有这个问题,但是我在上面和其他几篇文章中都没有尝试过。。除了这个

对我来说,我更改了bundle标识符,因为对于分发和开发,我们有不同的bundle ID

我的硬件在此条款中是允许的,我的团队帐户是有效的,但它在其他框架上抛出了上述错误

事实证明,我需要从我的手机上完全删除旧版本的应用程序。而不仅仅是以标准方式删除它

解决方案:

  • 确保目标手机已连接
  • 从xcode菜单中单击[窗口>设备]
  • 在左侧菜单上选择目标设备
  • 右边是设备中的应用程序列表。查找要测试的应用程序并将其删除
  • 显然,在同一个团队下,在不同的bundle ID下安装同一个应用程序时,如果你不是完全从头开始,那么会有一些框架被弄脏了

    希望这对某人有所帮助。

    引自:

    尝试引用Swift库libswiftCore.dylib时,Swift应用程序崩溃

    问:当我尝试运行我的Swift语言应用程序时,我的设备控制台中出现了libswiftCore.dylib加载错误,对此我该怎么办

    答:要更正此问题,您需要使用代码签名证书对应用程序进行签名,并将主题组织单位(OU)设置为您的团队ID。iOS 8发布后创建的所有企业和标准iOS开发者证书都在适当的位置有新的团队ID字段,以允许运行Swift语言应用程序

    通常,此错误会出现在设备的控制台日志中,并显示类似以下消息之一的消息: [..][deny mmap]映射文件没有团队标识符,并且不是平台二进制文件: /private/var/mobile/Containers/Bundle/Application/5D8FB2F7-1083-4564-94B2-0CB7DC75C9D1/YourAppNameHere.app/Frameworks/libswiftCore.dylib

    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
    
    构建存档和打包应用程序时需要新证书。即使你有一个新的证书,仅仅辞职现有的swift应用程序档案也不会起作用。如果它是使用iOS 8之前的证书构建的,则需要构建另一个存档

    重要提示:如果需要吊销和设置新的企业分发证书,请谨慎使用。如果您是内部企业开发人员,则需要注意不要吊销用于签署应用程序的分发证书。您的任何企业员工仍在使用该分发证书,因为使用该分发证书签署的任何应用程序将立即停止工作。以上仅适用于企业分销证书。企业/标准iOS开发人员可以安全地撤销开发证书

    正如AirSign人员所述,问题源于内部证书主题字段中缺少OU属性

    主题:UID=269J2W3P2L,CN=iPhone发行版:公司名称,OU=269J2W3P2L,O=公司名称,C=FR

    我有一个企业发展证书,创建一个新的解决了这个问题

    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
    

    在尝试了许多其他提到的解决方案之后,令我永远尴尬的是,执行Xcode->Product->清理并重新启动Xcode,成功了。

    对我来说,这个问题是由于WWRD证书而出现的——我的问题由da决定
    Xcode->Product->Clean + Xcode Restart