iOS 多渠道打包的解决方案
环境: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 多渠道打包的解决方案相关推荐
- Bugly 多渠道热更新解决方案
作者:巫文杰 Gradle使用productFlavors打渠道包的痛 有很多同学可能会采用配置productFlavors来打渠道包,主要是它是原生支持,方便开发者输出不同定制版本的apk,举个例子 ...
- android快速打包工具下载,【Android】多渠道打包,其实可以更快
现状 多渠道打包,相信很同学都知道.在Android Studio中只要经过配置,就能打出对应市场的渠道包.打过包的同学可能都会有这样的感受:散热器疯狂地转.打包速度那叫一个慢.这时候除了无奈,还是无 ...
- 使用BUCK进行iOS项目打包
关于BUCK BUCK是Facebook开源的快速打包工具,可以用于多种语言及平台的项目打包,例如:C.C++.Java.iOS.Android等等.用于大型的iOS.Android项目,可以显著提升 ...
- iOS自动化打包发布之fastlane 实现 发布AppStore 蒲公英
iOS自动化打包发布之fastlane 实现 fastlane官方文档 前提插件配置 首先要安装xcode-select 然后安装fastlane sudo gem install fastlane ...
- Android之友盟多渠道打包与数据统计(非原创)
文章大纲 一.多渠道打包与数据统计介绍 二.友盟实现多渠道打包实战 三.友盟数据统计实战 四.项目源码下载 五.参考文章 一.多渠道打包与数据统计介绍 多渠道打包,相信很多同学都知道.在Andro ...
- 安卓转战React-Native之签名打包成Apk并极速多渠道打包
前言 搞安卓的开发应该知道开发好的apk都是需要上传到应用市场给用户下载的,当然有些公司的产品是不用上传到应用市场的(比如我们公司放七牛云)但是也需要放在云上面给用户下载.react-native直接 ...
- Flutter 多渠道打包详解(埋点统计系列文章)
我是 Zero,废话不多说,脑图奉上 脑图梳理 只要你关注 Flutter,这篇文章你绝对用得着 ==> 强烈建议➕收藏 多渠道打包介绍 多渠道打包的主要作用是满足产品的运营需求,统计渠道和活动 ...
- Android V1、V2签名包和快速集成美团多渠道打包
今日科技快讯 三天的Google I/O大会2018终于落下帷幕,虽说现在的I/O大会重点已经变成了人工智能,但是Android P的推出还是让很多小伙伴激动不已的.这次Android P被喻为近几年 ...
- Android热更新Tinker + 多渠道打包 + 加固的流程详解
一.Tinker热修复 关于热修复的作用,不用多说了,一句话概括就是通过让用户无感的方式来修复线上应用的bug.这里介绍的是微信Tinker. 下面的接入方式都是参考自Tinker官方文档来.我这里主 ...
最新文章
- 滴定数据处理结果分析
- html 传参数 菜单自动展开,【HTML5】Jquery打造竖向伸缩/展开菜单
- 读文件并返回其中最大最小行的shell脚本
- figma 安装插件_彩色滤光片Figma插件,用于色盲
- Qt中translate、tr关系 与中文问题
- 【LeetCode笔记】70. 爬楼梯(Java、动态规划)
- 学习前端开发必读书籍,拥有这几本武功秘籍,让你如有神助
- 关于回复某个评论的功能小改进
- python线程监控_Python多线程的事件监控
- 7.从Paxos到Zookeeper分布式一致性原理与实践---Zookeeper 技术内幕
- ESlint 配置从0到1 (二)
- 推荐算法(一)电影推荐系统
- 邻接矩阵转换为邻接表;邻接表转换为邻接矩阵
- 台达PLC实现伺服电机的正反转
- 美通企业日报 | 阿里收购网易考拉入股网易云音乐;宁德时代与博世达成战略合作...
- 【CLP】Conic Linear Programming Duality
- 校内题目T2691 桶哥的问题——送桶
- [NOIP模拟赛]棋子游戏
- [mysql] 变量、处理程序和流程控制
- 音乐服务器制作教程,让NAS做音乐服务器