Win*_*hao 5 bundle dynamic ios
我正在研究iOS上的大型项目,我想将独立模块分成几个可加载的软件包.但是,官方文档表明iOS不支持可加载包.此外,我计划使用内部分发,因此应用商店批准不是问题.
现在我的问题是:我调用[_bundle principalClass]代码来访问可加载包的入口类.它适用于越狱的iOS设备.对于未破坏的设备,当我使用Xcode的调试模式时,它也可以正常工作.但是当我从跳板独立运行时,它会崩溃到背景.
我真的想知道:
1)为什么在越狱/非破坏设备上运行的可装载捆绑包如此不同?
2)XCode调试模式和正常运行模式之间的主要区别是什么?
在未破解的iOS设备上使用动态库还有其他棘手的方法吗?
更新:从2014年发布的iOS 8开始,iOS对框架有了适当的支持,因此开发人员不再需要使用静态库。
较旧的答案:
iOS 不允许动态加载不属于系统的可执行代码;这包括框架、dylib、使用 mmap 的可执行内存页面等。希望有一天它们会允许动态捆绑,但目前您需要将模块构建为静态库,并在构建时链接它们。没有已知的方法可以解决此限制。
很多人都写过如何做到这一点(例如,http://blog.carbon Five.com/2011/04/04/using-open-source-static-libraries-in-xcode-4/),或者你可能想使用现有项目作为示例。我喜欢的一个是 GData objc API,它既具有针对 OS X 构建的动态框架的目标,又具有针对 iOS 构建的静态库的目标: http: //code.google.com/p/gdata-objectivec-client /
| 归档时间: | 
 | 
| 查看次数: | 1822 次 | 
| 最近记录: |