如何从一个 Xcode 项目创建多个 iOS 应用程序?

Posted

技术标签:

【中文标题】如何从一个 Xcode 项目创建多个 iOS 应用程序?【英文标题】:How do you create multiple iOS apps from one Xcode Project? 【发布时间】:2013-04-03 18:35:24 【问题描述】:

我有一个使用 PhoneGap 封装在本机外壳中的 Sencha Touch 2 应用程序。我已经创建了原生 android 应用程序。使用我的原生 Android 应用程序,我有一个项目和一个用于该项目的 apk。我已经设法从一个 apk 创建了几个应用程序。我使用 apktool 解包 apk,然后使用一些 Perl 脚本使用一些全局 JS 变量更新 index.html 文件,并更改 Smali 文件中的包名称以使应用程序独一无二。然后我重新打包apk并签名。每个应用程序之间的唯一区别是发送请求的名称和 url。此变量在 index.html 中设置。我想为我的 ios 应用程序做同样的事情。有没有办法在不创建多个项目的情况下做到这一点?每个应用都必须是唯一的,这样我的设备上才能有多个实例。

【问题讨论】:

为什么-ve 投票支持这个问题?他在问一个非常有效的问题! 我认为这是一个非常有效的问题。我不经常使用***。我通常在特定于我使用的框架的论坛上发帖。也许是时候停止使用***了。 不要因为4-ve票而灰心! Stackovrflow 是目前最好的技术讨论论坛......有些人只是急于投反对票......我真的不明白他们在想什么...... 【参考方案1】:

这是你需要做的。使用您的 XCode 项目,创建一个 ipa 文件。现在,您可以创建 ipa 文件的多个副本、更改它们的捆绑包 ID 并使用类似 iResign 的工具将它们重新签名。 Bundle Id 标识一个应用程序;因此,当捆绑 ID 更改并且应用程序退出时,您将获得一个完全不同的应用程序!

由于现在不同环境下的应用程序有不同的 bundle id,你需要使用像 wizUtils plugin 这样的插件,并在你的 JS 代码和 JS switch case 语句中读取 bundle 标识符,你可以设置 dev 和 prod 配置(在您的情况下为服务 URL)取决于捆绑包 ID。因此,当您为其他环境进行构建时,您无需更改源代码中的任何内容。

【讨论】:

听起来与我对 Android 应用所做的类似。谢谢你。我会试一试的。 酷.. 让我知道您是否还有其他问题。如果您认为答案有用,请将其标记为答案,以便对社区有所帮助。

以上是关于如何从一个 Xcode 项目创建多个 iOS 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

iOS xcode 11 新项目多个错误

xCode iOS 项目。如何从现有项目开始创建新项目

XCode 5:如何在工作区中创建多个项目?

您可以从另一个 xcode 项目上传新的 ios 应用程序版本吗?

如何从一个 Xcode 项目访问多个 Firebase 数据库

Xcode Bots 从单个 Xcode 服务器在多个 iOS 项目上运行 UITesting