
显然这可以使用以下标志来完成:
#if defined (CUSTOMER_A) Nsstring* text = @"Text for customer A"; UIImage *image = [UIImage imagenamed:@"customeraimage"];#elseif defined (CUSTOMER_B) Nsstring* text = @"Text for customer B"; UIImage *image = [UIImage imagenamed:@"customerBImage"];
但显然我想避免这种情况,只是有:
Nsstring* text = @"Text"; UIImage *image = [UIImage imagenamed:@"image"];
(文本将是可本地化的,因此在最终版本中将使用NSLocalizedString).
我想知道一个可能的方法是将项目放入工作区以及许多静态库,每个静态库都包含每个客户的特定文本和图像,然后使用不同的方案来创建不同的构建.所以方案A将创建一个使用主项目和静态库A构建的目标.
我开始有一个小的概念证明,但是在走得太远之前,我首先要检查这是一个可行和合理的方法,或者如果有更好的选择.如果可行的话可以考虑几个问题:
>如何从主项目中的代码访问静态库中的图像?必须创建一个bundle来访问库的内容,这样做如何?
>根据使用哪种方案,是否可以更改应用程序桌面和市场图标?
>是否可以指定一套不同的分配证书等待每个方案使用?
静态库不能包含本地化的变体吗?
这是为了iOS,所以不可能为此使用一个框架.
感谢任何反馈.
(建筑系统将使用jenkins自动化).
解决方法 您只需要在项目中创建多个目标即可每个目标的资源文件夹(客户/品牌).
以下是如何完成此 *** 作:
>创建两个新的资源文件夹
一个. Resources_Customer1
湾Resource_Customer2
>将相应的资源复制到相应的文件夹中
>选择项目 – >目标
>复制目标
>在[复制构建资源]中自定义资源名称,以便它指向适当的
客户/品牌
>根据所选的目标测试和验证适当的目标运行.
希望这可以帮助!
总结以上是内存溢出为你收集整理的ios – 如何使用不同的皮肤/品牌来构建不同版本的应用程序?全部内容,希望文章能够帮你解决ios – 如何使用不同的皮肤/品牌来构建不同版本的应用程序?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)