iphone – 一个代码库有三个略有不同的应用程序

iphone – 一个代码库有三个略有不同的应用程序,第1张

概述我希望有三个应用程序,这些应用程序是基于相同的代码: > MyAppDevelopment(从Xcode构建部署到设备) > MyAppPreview(Beta测试) > MyApp(发布) 应该可以将所有三个应用程序都安装在设备上,并且他们会有自己的图标,以便在视觉上很好地区分它们. 现在我知道我可以使用各自的Info.plist文件有三个不同的目标,但是我宁愿使用Xcode的配置,这样我就不必 我希望有三个应用程序,这些应用程序是基于相同的代码:

> MyAppDevelopment(从Xcode构建部署到设备)
> MyAppPrevIEw(Beta测试)
> MyApp(发布)

应该可以将所有三个应用程序都安装在设备上,并且他们会有自己的图标,以便在视觉上很好地区分它们.

现在我知道我可以使用各自的Info.pList文件有三个不同的目标,但是我宁愿使用Xcode的配置,这样我就不必维护三个不同的目标.这是否可能使用配置,问题是应用程序标识符存储在Info.pList文件中,可以根据目标定义…

解决方法 为不同版本的应用程序使用不同的目标提供了更多的灵活性,并且您可以在每个目标指定不同的pList文件后轻松地更改包标识符和图标等.但是,这些配置与Xcode更加集成,您可以根据配置调整任何构建设置.

经过一些更多的研究,我想出了如何通过一个目标获得两个世界的最好的:

>在Xcode中创建所需的配置:Projectname> Projectname>信息.例如:

>调试
>预览
>发布

>现在,这三个配置可用于所有的构建设置.
>三个应用程序应该在设备上共存.
我想能够在一个设备上拥有App的所有三个版本,因为这三种类型都需要一个不同的bundle标识符.原始标识符可以是com.company.${PRODUCT_name:rfc1034IDentifIEr}.

>要实现这一点,请转到MyProject> MyApp(目标)>构建设置并点击按钮()添加构建设置
>添加新的密钥${APP_ID}并设置这样的值,并注意发布配置不应该有一个后缀:

APP_ID > 'com.company.MyApp-deBUG'       > 'com.company.MyApp-prevIEw'       > 'com.company.MyApp'

>现在在您的Info.pList中将Bundle IDentifIEr值更改为${APP_ID}

>您可以使用“捆绑显示名称”或“图标”属性进行相同 *** 作,以便您可以轻松地区分应用程序.
>您可以为配置设置预处理器宏,以便能够检测代码中的当前配置.默认情况下,调试配置完成:DEBUG = 1.

优点

>由于三个应用程序都有自己的标识符,所以在测试Xcode中的当前应用程序时,不会覆盖最新的预览版本.
>很好地集成到Xcode中,提供了高度的灵活性
所有构建设置现在可以根据配置单独更改
通过克隆Xcode中的现有配置,可以轻松添加新配置
>不需要额外的目标
目标对于完全不同的工件(如具有不同代码库的库或测试目标)而言更好.
>如果需要,可以在代码中使用配置.
>不同的服务URLS等可用于不同的环境.看到这个great post(感谢Jonah!),显示如何使用一个特殊的pList文件.
>不使用任何难以维护的黑客脚本

缺点

>通过使用目标,可以从一种类型的应用程序中排除一些框架.因此,例如,您可以从应用程序的调试版中排除一些分析库.
>更新:您不能使用com.company.${PRODUCT_name:rfc1034IDentifIEr}替换用户定义的构建设置.因此,在这种情况下,您必须写出捆绑整个捆绑标识符.
>更新:应该使“配置感知”的一些设置移动到“构建设置”的“用户定义”部分,这对某些开发人员可能会感到不寻常.

结果

Result http://i.minus.com/jbwPgEiBra39dL.png

总结

以上是内存溢出为你收集整理的iphone – 一个代码库有三个略有不同的应用程序全部内容,希望文章能够帮你解决iphone – 一个代码库有三个略有不同的应用程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1061815.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存