iOS创建大量类似的渠道包

作者: 黄成 | 来源:发表于2016-01-22 15:49 被阅读2602次

iOS创建大量类似的渠道包

何为渠道包

同一个项目源码,但是名字,启动图,bundleid等不一样。同样请求里面也是根据不同bundleid不同的,但是这个在服务器作处理。总体说来,渠道包仅仅是资源不一样,样式相同,源码一致的app。

如何管理

第一种,创建target,给每一个渠道包一个target

一致用到二十来个target的时候,发现这种工作量太大,并不真正合适大量渠道包。如果在target比较少的时候,用这个十分棒。教程附上:玄书

正如他博客中写道的:


优点:

  1. 直观
    一目了然, 可以看到所有已创建的Target醒目的列在Build列表中。每一个Target都有对应的Tagret配置界面可以看到每一个项目配置图标以及Info.plist对应信息。
  2. 灵活性高
    可以根据项目需要Link需要的类, 根据Target来指定链接不同的类和资源文件, 而不用一口气全部都Link进来。

缺点:

配置相当麻烦,如果希望减少包体积,许多资源文件要重复选择target。新建一些源文件可能随手没勾选options,后面又要找到源码勾选target。

多人协作开发的时候,project.pbxproj会有极大的冲突需要修改。


第二种,使用config来管理每个渠道包

经过了第一种方法的洗礼,在重构的时候我调研了config配置的形式,解决几乎所有我的所有问题,现在已经用入重构和新项目中。

config文件的简单使用教程:(pod依赖管理环境下的使用)


1.新建一个config文件,假设我在config文件中加入如下代码

#include "../../Pods/Target Support Files/Pods-shop/Pods-shop.debug.xcconfig"

DISPLAY_NAME = hello
IDENTIFIER = .hello
APP_ID = hello

LaunchImage = hello_LaunchImage
AppIcon = hello_AppIcon

//:configuration = Debug
//PROVISIONING_PROFILE = 22f0006a-d829-41a2-934f-b789b3b0e7bc

//:configuration = Release
PROVISIONING_PROFILE = 9598b567-999c-465e-b377-757bb5e63db4

从上面的字面意思可以理解:

  1. 先引入了pod的config,因为pod的config在依赖中会被用到
  2. 修改显示的名字为hello
  3. 修改bundleid为后面加.hello
  4. app_id 为hello
  5. launchimage和appicon
  6. 证书

2.引入到项目

image

3.使用

首先我们build setting里面可以看到 User-Defined的里面出现了我们定义的这些东西。

修改bundleid:在buildsetting里面PRODUCT_BUNDLE_IDENTIFIER栏目改成xxx.xxx.com${IDENTIFIER} = xxx.xxx.com.hello,其它类似

修改launchimage:bundle setting里面搜索launchimage,替换为${LaunchImage}

修改证书:自动被修改

直接运行即可


4.最后脚本打包

xcodebuild -workspace cheniu_shop.xcworkspace -sdk iphoneos -scheme scheme_your_name -xcconfig "相对目录下的某个.config" -configuration "Release Adhoc" SYMROOT='$(PWD)/build'
xcrun -sdk iphoneos PackageApplication -v "build/Release-iphoneos/scheme_your_name.app" -o "$PWD/build/release-iphoneos/your_name.ipa"

第一个build一个.app出来,第二个打包成.ipa


5.如果需要修改里面style,比如文字颜色,背景图片,可以根据appid或者自己定义的渠道号去加载一个style源文件,读取里面自己定义的参数。


总结:

渠道包在很多公司都会用到,经常被放在一些分发平台上,提供给别人测试或者进行少量分发使用。这里我介绍了有关使用config创建大量渠道包的方式,有问题可以联系我。有更好的方法也希望能提出来学习学习。

github

相关文章

  • iOS创建大量类似的渠道包

    iOS创建大量类似的渠道包 何为渠道包 同一个项目源码,但是名字,启动图,bundleid等不一样。同样请求里面也...

  • 配置Flutter+VSCode运行iOS多渠道

    前言:iOS多渠道配置比较普遍,能很方便解决生产包和测试包分开进行打包 一、iOS 多渠道配置实践 1、创建多个t...

  • 一些记录

    IOS 上包 90032 报错问题 只能上iPhone的渠道 但是有iPad的图片 重新创建APPicon 同时i...

  • iOS - 创建大量相似App的另外一种选择

    本篇文章主要针对iOS应用开发中, 针对需要创建许多相似的应用App提出一种新颖的解决方案。 关于如何创建大量相似...

  • iOS渠道包分析

    最近老大喊我们研究下渠道包的统计,要求是安卓和iOS都能用;参看个各位大大的文章,最终觉得App推广渠道追踪的5种...

  • ios打渠道包

    前提: 游戏嵌入SDK,用Adhoc配置文件打出母包.ipa,其中渠道id存储在SDK的.bundle的plist...

  • iOS渠道包相关

    一、渠道包应用场景: 打包完一个母包.ipa 后,各个渠道商可能会使用到不同的域名,icon 等等,所以各个渠道商...

  • iOS自动化打包思路及方法

    为何要自动化打包 iOS程序包和渠道包格式 自动化打包思路

  • 审核facebook时 要为iOS创建一个simulator b

    为iOS创建一个simulator build iOS开发——为iOS工程创建模拟器包,用于其它电脑上iOS模拟器...

  • MyEclipse 的工程演示

    1. 版本 2. 创建java工程 选择java工程 配置工程 生成目录 创建包和类 创建包的对话框 创建主程序类 运行

网友评论

    本文标题:iOS创建大量类似的渠道包

    本文链接:https://www.haomeiwen.com/subject/ylfrkttx.html