我在集成 iPhone 应用程序时遇到问题。在我之前的一篇文章中,我询问了 creating a static library from an Xcode project ..
作为替代方案,我正在寻找一种将应用程序放入另一个应用程序中的方法。因为这两个应用程序都是包含大量类、图像、声音文件等的大型应用程序。这两个应用程序的大多数类名和资源名称都是相同的。所以静态库的概念会导致名称冲突,这对我来说修复起来非常非常繁琐。所以我正在尝试切换到这个应用程序内应用程序的概念。
假设我有一个应用程序。我想将第二个应用程序放入应用程序中,方法是将第二个应用程序的“.app”文件放入第一个应用程序的“.ipa”文件中或第一个应用程序中的某个位置。现在我想从第一个应用程序调用第二个应用程序以独立于第一个应用程序运行。
我的想法是,我的第一个和第二个应用程序都是单独的应用程序。我想将它们放在一个 ipa 文件中。当我安装 ipa 文件时,仅显示一个应用程序(即我的第一个应用程序)。我的第二个应用程序也已安装,但未显示,因为它位于我的第一个应用程序内。这样我就只能从我的第一个应用程序调用我的第二个应用程序。
这就是我需要做的..
任何建议..
谢谢..
最佳答案
你不能这样做。将应用程序安装到 iPhone 上的方法对其工作方式相当严格。而且您不能将 2 个应用程序放在应用程序商店中的一个 bundle 中。您必须发送 2 个应用程序,指示用户安装这两个应用程序,然后一个应用程序可以通过注册的 url 协议(protocol)启动另一个应用程序。对于这个案例来说,这听起来很蹩脚。
正如您所发现的,ObjC 缺乏适当的命名空间使得合并此代码有点困难。也许您可以简单地为所有库类添加前缀。一个简单的查找和替换应该能够做到这一点。这是在不支持真实命名空间的 C 语言中编写虚假命名空间代码的一般方法。
您的主应用代码中应包含 Person
,而主应用代码中应包含 MLPerson
,而不是 Person
和 Person
您的 lib,其中 ML
是您的库的一个很酷的 2 个字母前缀(我缩写为 MyLib
以获得 ML
)。
关于iphone - 我可以在另一个应用程序中拥有一个应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4655089/