在Xcode6.0.1中使用嵌入式框架(dyld),部署目标低于iOS 8时,我得到:
装入successful
错误:
dyld: Library not loaded: @rpath/ObjectiveLyricsTouch2.framework/ObjectiveLyricsTouch2
Referenced from: /private/var/mobile/Containers/Bundle/Application/DC65ACA9-98E5-46CD-95F8-829D3416F6C0/musiXmatch.app/musiXmatch
Reason: image not found
(lldb) 发布于 2015-02-25 02:39:10
有一段时间我在想,这也是我的问题,但是对于普通的应用程序(non-iOS-8-extension),你只需要在你随意的Xcode6 iOS通用框架目标中更改一个构建设置(将Mach-O类型设置为静态库):

之后,iTunes连接和iOS 7应该不会有任何问题:)
发布于 2014-09-18 18:31:28
因此,在深入研究之后,我想出了解决方案
应该有你的MyEmbeddedFramework.framework添加到应用程序中,执行此操作
there if >如果您有,请在选项卡常规> Embedded Binaries
总而言之,要让它正常工作,您应该看到MyEmbeddedFramework.framework在
A)常规>嵌入式二进制文件

B)构建阶段>嵌入式框架

它在iPhone5/iOS8上工作得很好,而不是在我得到的iPhone4S/iOS7上:
dyld:库未加载:引用自: /var/mobile/Applications/739D9C44-3B91-4D4F-805B-83BE66C9CBCA/musiXmatch.app/musiXmatch的@rpath/ObjectiveLyricsTouch2.framework/ObjectiveLyricsTouch2原因:找不到合适的图像。在/private/var/mobile/Applications/739D9C44-3B91-4D4F-805B-83BE66C9CBCA/musiXmatch.app/Frameworks/ObjectiveLyricsTouch2.framework/ObjectiveLyricsTouch2中发现: /private/var/mobile/Applications/739D9C44-3B91-4D4F-805B-83BE66C9CBCA/musiXmatch.app/Frameworks/ObjectiveLyricsTouch2.framework/ObjectiveLyricsTouch2:不兼容cpu-子类型: 0x0000000B
问题出在EmbeddedFramework中。我不得不
1)将架构设置为默认值2)将有效架构设置为: armv7、armv7s和armv64 (正如苹果公司建议的那样,需要armv64才能让嵌入式框架工作)。
然后我就可以在应用程序上运行一个嵌入式框架了
无论如何,当提交到iTunesConnect时,我在最低要求的版本上得到了一些错误:

发布于 2014-10-05 22:40:43
到目前为止,还没有办法使用嵌入式框架在应用程序和小工具之间共享代码,并让它在iOS 8以及iOS 7和之前的版本上运行。
下面是有关该http://atomicbird.com/blog/ios-app-extension-tips更多信息
框架与iOS 7
如果你在一个应用和一个扩展之间共享代码,一个很好的方法是创建你自己的嵌入式框架来保存代码。在iOS 8上,这两种情况下都会动态加载,所以设置好了。
如果你仍然支持iOS 7(或更早的版本),那就不是那么清晰了。嵌入式框架在那里不起作用。App Extension Programming Guide轻而易举地指出,您可以使用dlopen来处理此问题。使用这种方法,您可以编写代码在运行时动态加载框架,而不是依赖于iOS为您加载它,前提是您已经验证了代码运行在支持这样做的iOS版本上。
但是如何在iOS 7上使用这些代码呢?如果你的共享代码在一个嵌入式框架中,就没有办法在iOS 7上执行它,因为它是不可用的。
如果您只需要iOS 8上的共享代码,那么dlopen方法可能会很方便。如果您在iOS 7上需要它,则需要将其包含在应用程序目标中。一旦你这样做了,你就不需要这个框架了。您仍然可以为应用程序扩展使用框架,但这样做实际上没有什么用处。你会做创建框架的工作,但没有从它中获得任何好处。只需在两个目标中包含共享代码即可。
如果您从包含的应用程序链接到嵌入式框架,即使嵌入式框架在这些版本中不可用,您仍可以将其部署到8.0之前的iOS版本。
https://stackoverflow.com/questions/25909870
复制相似问题