环境:xcode 6.3.2
开始的思路是用脚本 解压.ipa文件 ,修改.app里面的自定义渠道文件,然后再压缩成ipa文件。
后来发现打出来的手机装不上。
于是主意打在了.xcarchive 文件上。

脚本如下

#!/bin/sh
#在工程的info.plist 相同路径下 创建Channel.dat文件作为 渠道号读取的文件
#创建这个脚本文件archive.sh(记得加可执行权限)和渠道文件Channels.dat
#用xcode打包后
#请将xcode archive 后的 XXXX.xcarchive文件 与 archive.sh 和 Channels.dat 文件放在相同路径下shpath="/Users/Admin/Tiger/iOS/渠道打包"  #脚本路径
xcarchivename="XXX.xcarchive"            #xcarchive 文件名
xcarchivesub="Products/Applications"
appname="XXX.app"                          #程序target名称
distDir="./Archives"   #打包后文件存储目录
profile="LSZAdhocDistribution" #profile 文件
version="1.5"rm -rdf "$distDir"
mkdir "$distDir"
for line in $(cat channels.dat)   #读取渠道号文件并进行循环
do
ipafilename=`echo $line|cut -f1 -d':'`
sourceid=`echo $line|cut -f2 -d':'`
#echo "ipafilename=$ipaname"
#echo "sourceid=$sourceid"
targetName="Tripsters"
#echo "sourceid=$sourceid"
#echo "ipafilename=$ipafilename"
cd $shpath
cd $xcarchivename
cd $xcarchivesub
cd $appname
#echo "replace Channel.dat before: "
#cat Channel.datecho "$sourceid" > Channel.dat
#echo "replace Channel.dat after: "
#cat Channel.dat
cd $shpatharchivePath=$shpath/$xcarchivename
ipaPath="$distDir/${targetName}_${version}_${sourceid}.ipa"echo "Creating ipa..."xcodebuild -exportArchive -archivePath $archivePath -exportPath $ipaPath -exportFormat ipa -exportProvisioningProfile "$profile"done

Channels.dat 文件内容

91助手:91_Store
同步推:TongBuTui_Store
PP助手:PP_Store
苹果园:PingGuoYuan_Store
威锋源:WeiFeng_Store
搜狐应用市场:Sohu_Store

Channel.dat 文件内容

91_Store

Channel.dat 文件读取

 var channelid = "App Store"var filePath = NSBundle.mainBundle().pathForResource("Channel", ofType: "dat")if String.isNotEmptyString(filePath) {var channelString = String(contentsOfFile: filePath!, encoding: NSUTF8StringEncoding, error: nil)if String.isNotEmptyString(channelString) {channelid = channelString!}}

参考连接:http://www.cnblogs.com/chen1987lei/archive/2012/05/28/2521626.html

iOS 多渠道打包的解决方案相关推荐

  1. Bugly 多渠道热更新解决方案

    作者:巫文杰 Gradle使用productFlavors打渠道包的痛 有很多同学可能会采用配置productFlavors来打渠道包,主要是它是原生支持,方便开发者输出不同定制版本的apk,举个例子 ...

  2. android快速打包工具下载,【Android】多渠道打包,其实可以更快

    现状 多渠道打包,相信很同学都知道.在Android Studio中只要经过配置,就能打出对应市场的渠道包.打过包的同学可能都会有这样的感受:散热器疯狂地转.打包速度那叫一个慢.这时候除了无奈,还是无 ...

  3. 使用BUCK进行iOS项目打包

    关于BUCK BUCK是Facebook开源的快速打包工具,可以用于多种语言及平台的项目打包,例如:C.C++.Java.iOS.Android等等.用于大型的iOS.Android项目,可以显著提升 ...

  4. iOS自动化打包发布之fastlane 实现 发布AppStore 蒲公英

    iOS自动化打包发布之fastlane 实现 fastlane官方文档 前提插件配置 首先要安装xcode-select 然后安装fastlane sudo gem install fastlane ...

  5. Android之友盟多渠道打包与数据统计(非原创)

    文章大纲 一.多渠道打包与数据统计介绍 二.友盟实现多渠道打包实战 三.友盟数据统计实战 四.项目源码下载 五.参考文章 一.多渠道打包与数据统计介绍   多渠道打包,相信很多同学都知道.在Andro ...

  6. 安卓转战React-Native之签名打包成Apk并极速多渠道打包

    前言 搞安卓的开发应该知道开发好的apk都是需要上传到应用市场给用户下载的,当然有些公司的产品是不用上传到应用市场的(比如我们公司放七牛云)但是也需要放在云上面给用户下载.react-native直接 ...

  7. Flutter 多渠道打包详解(埋点统计系列文章)

    我是 Zero,废话不多说,脑图奉上 脑图梳理 只要你关注 Flutter,这篇文章你绝对用得着 ==> 强烈建议➕收藏 多渠道打包介绍 多渠道打包的主要作用是满足产品的运营需求,统计渠道和活动 ...

  8. Android V1、V2签名包和快速集成美团多渠道打包

    今日科技快讯 三天的Google I/O大会2018终于落下帷幕,虽说现在的I/O大会重点已经变成了人工智能,但是Android P的推出还是让很多小伙伴激动不已的.这次Android P被喻为近几年 ...

  9. Android热更新Tinker + 多渠道打包 + 加固的流程详解

    一.Tinker热修复 关于热修复的作用,不用多说了,一句话概括就是通过让用户无感的方式来修复线上应用的bug.这里介绍的是微信Tinker. 下面的接入方式都是参考自Tinker官方文档来.我这里主 ...

最新文章

  1. 滴定数据处理结果分析
  2. html 传参数 菜单自动展开,【HTML5】Jquery打造竖向伸缩/展开菜单
  3. 读文件并返回其中最大最小行的shell脚本
  4. figma 安装插件_彩色滤光片Figma插件,用于色盲
  5. Qt中translate、tr关系 与中文问题
  6. 【LeetCode笔记】70. 爬楼梯(Java、动态规划)
  7. 学习前端开发必读书籍,拥有这几本武功秘籍,让你如有神助
  8. 关于回复某个评论的功能小改进
  9. python线程监控_Python多线程的事件监控
  10. 7.从Paxos到Zookeeper分布式一致性原理与实践---Zookeeper 技术内幕
  11. ESlint 配置从0到1 (二)
  12. 推荐算法(一)电影推荐系统
  13. 邻接矩阵转换为邻接表;邻接表转换为邻接矩阵
  14. 台达PLC实现伺服电机的正反转
  15. 美通企业日报 | 阿里收购网易考拉入股网易云音乐;宁德时代与博世达成战略合作...
  16. 【CLP】Conic Linear Programming Duality
  17. 校内题目T2691 桶哥的问题——送桶
  18. [NOIP模拟赛]棋子游戏
  19. [mysql] 变量、处理程序和流程控制
  20. 音乐服务器制作教程,让NAS做音乐服务器

热门文章

  1. 北京航空航天大学2019年OO课程第二次总结
  2. 高频电子线路仿真-高频小信号谐振放大器
  3. GitHub下载神器,GitHub开元神器
  4. 利用Word制作pdf文件的方法
  5. openlayers入门开发系列之地图工具栏篇
  6. matlab桁架模型,桁架结构有限元分析MATLAB.doc
  7. 2021年陕西省大学生程序设计竞赛(重现赛)
  8. MFC六大核心机制之一MFC程序的初始化
  9. 深圳学区房价格_查查吧学区房地图
  10. IBM DS3000存储DS3400数据恢复成功案例记录