我有一个使用 PhoneGap 封装在本机外壳中的 Sencha Touch 2 应用程序。我已经创建了原生 Android 应用程序。使用我的原生 Android 应用程序,我有一个项目和一个用于该项目的 apk。我已经设法从一个 apk 创建了几个应用程序。我使用 apktool 解包 apk,然后使用一些 Perl 脚本使用一些全局 JS 变量更新 index.html 文件,并更改 Smali 文件中的包名称以使应用程序唯一。然后我重新打包apk并签名。每个应用程序之间的唯一区别是发送请求的名称和 url。此变量在 index.html 中设置。我想为我的 iOS 应用程序做同样的事情。有没有办法在不创建多个项目的情况下做到这一点?每个应用程序都必须是唯一的,这样我的设备上就可以有多个实例。
问问题
253 次
1 回答
1
这是你需要做的。使用您的 XCode 项目,创建一个 ipa 文件。现在,您可以创建 ipa 文件的多个副本,更改它们的 bundle id 并使用iResign 之类的工具对它们进行签名。Bundle Id 标识一个应用程序;因此,当捆绑 ID 更改并且应用程序退出时,您将获得一个完全不同的应用程序!
由于现在您在不同环境中的应用程序具有不同的包 ID,因此您需要使用wizUtils 插件之类的插件并在您的 JS 代码和 JS switch case 语句中读取包标识符,您可以设置 dev 和 prod 配置(在您的情况下服务 URL)取决于捆绑包 ID。因此,当您为其他环境进行构建时,您无需更改源代码中的任何内容。
于 2013-04-04T06:38:34.847 回答