- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我正在尝试嵌入一个正在使用另一个框架的框架,这在模拟器中工作得很好,但它在 iOS 设备上崩溃了:
dyld: Library not loaded: @rpath/FrameworkB.framework/FrameworkB Referenced from: /private/var/mobile/Containers/Bundle/Application/B072CD7C-8595-4AE4-A506-26832A0F4402/FrameworkTest.app/Frameworks/FrameworkA.framework/FrameworkA Reason: image not found
这是我在 Xcode 中的结构:
应用程序 (FrameworkTest) 使用来自 FrameworkA 的类 A
(嵌入在 FrameworkTest 应用程序中)。 A
类使用 FrameworkB 中的类 B
(在 FrameworkA 中链接)。
这在模拟器中工作得很好,但在设备上不起作用。
结构可能看起来有点奇怪,但我在开发应用程序时正在开发框架,这就是为什么我想在我的应用程序项目中添加框架项目。
我已经上传了 project on GitHub供您查看,如果您需要仔细查看。 (类A
在AppDelegate.m文件中被调用)
为什么这在 iOS 模拟器而不是设备上有效?我怎样才能让它在设备上运行?
编辑:
正如 simonthumper 在评论中建议的那样,我还尝试将 FrameworkB.framework
添加到 Copy Files
作为 FrameworkA 构建阶段中的框架目标,但这给了我这个控制台错误:
dyld: Library not loaded: @rpath/FrameworkB.framework/FrameworkB Referenced from: /private/var/mobile/Containers/Bundle/Application/2A38A2BC-9CD7-4AF6-9E50-42C16D92D6B2/FrameworkTest.app/Frameworks/FrameworkA.framework/FrameworkA Reason: no suitable image found. Did find: /private/var/mobile/Containers/Bundle/Application/2A38A2BC-9CD7-4AF6-9E50-42C16D92D6B2/FrameworkTest.app/Frameworks/FrameworkA.framework/Frameworks/FrameworkB.framework/FrameworkB: mmap() error 1 at address=0x10012C000, size=0x00008000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/2A38A2BC-9CD7-4AF6-9E50-42C16D92D6B2/FrameworkTest.app/Frameworks/FrameworkA.framework/Frameworks/FrameworkB.framework/FrameworkB
最佳答案
我就此问题联系了 Apple,并找到了解决我的问题的方法。 Apple 的技术支持明确表示,我需要将 FrameworkB.xcodeproj 添加到我的应用程序项目中,因此我的项目结构是:
完成此操作后,应用程序项目可以包含 FrameworkB.framework 作为嵌入式库:
这解决了我的问题并使其可以在 iOS 设备上运行。
如果构建在发布时崩溃:撤销您的企业分发证书并创建一个新证书来解决问题。一旦我这样做了,它就完美地工作了。
关于ios - 迪尔德 : Library not loaded for a Framework within a Framework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28740268/
我安装了最新版本的 AFNetworking with Cocoa pods 2.1.0。当我在 6.1 模拟器上运行应用程序时,出现以下错误: dyld: Symbol not found: _NS
我是一名优秀的程序员,十分优秀!