gpt4 book ai didi

ios - iOS 上的可加载包,有什么办法可以实现吗?

转载 作者:可可西里 更新时间:2023-11-01 04:54:26 26 4
gpt4 key购买 nike

我正在 iOS 上进行一个大型项目,我想将独立的模块分成几个可加载的包。但是,官方文档表示 loadable bundle 在 iOS 上不支持。此外,我计划使用内部分发,因此应用商店批准不是问题。

现在我的问题是:我在代码中调用了[_bundle principalClass]来访问可加载bundle的入口类。它在越狱的 iOS 设备上运行良好。对于未越狱的设备,当我在 Xcode 中使用 Debug模式时,它也能正常工作。但是当我从跳板独立运行它时,它会崩溃到后台。

我真的很想知道:

1) 为什么在越狱/未越狱设备上运行的可加载包如此不同?
2)XCode Debug模式和应用正常运行模式的主要区别?

在未越狱的 iOS 设备上使用动态库还有其他棘手的方法吗?

最佳答案

更新:从 2014 年发布的 iOS 8 开始,iOS 对框架有了适当的支持,因此开发人员不再需要使用静态库。

旧答案:

iOS 不允许动态加载不属于系统的可执行代码;这包括框架、动态库、使用 mmap 的可执行内存页面等。希望它们有一天会允许动态 bundle ,但目前您需要将模块构建为静态库并在构建时链接到它们。没有解决此限制的已知方法。

很多人都写过如何执行此操作(例如 http://blog.carbonfive.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/

关于ios - iOS 上的可加载包,有什么办法可以实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10257854/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com