ios打包ipa的四种实用方法(.app转.ipa)
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="6gu7s-0-0">总结一下,目前.app包转为.ipa包的方法有以下几种:</div><div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="cgeff-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="cgeff-0-0"><span data-offset-key="cgeff-0-0">1、Apple推荐的方式,即实用xcode的archive功能</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="f683l-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="f683l-0-0"><span data-offset-key="f683l-0-0">Xcode菜单栏->Product->Archive->三选一,一般选后两个。</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="fhhcj-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="fhhcj-0-0"><span data-offset-key="fhhcj-0-0">局限性:个人开发一般采用这种方法,但是当一个证书多人使用时就稍显麻烦。一般多人开发时都是采用provisioning profile+P12文件来进行真机调试。上述方法在最后导出ipa包时需要输入appleID,这时还要向团队的其他人要。采用provisioning profile+P12真机调试的方式不要求开发者知道appleID以及密码,密码一般放在leader那里;</span></div>
</div>
<ol class="public-DraftStyleDefault-ol" data-offset-key="3hulg-0-0">
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-reset public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="3hulg-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="3hulg-0-0"><span data-offset-key="3hulg-0-0">使用工具appuploader<span data-offset-key="3hulg-0-1">(推荐)</span></span></div>
</li>
</ol>
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="8567e-0-0"><span data-offset-key="8567e-0-0">利用Appuploader上架IPA步骤</span></div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="eq24s-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="eq24s-0-0"><span data-offset-key="eq24s-0-0">Appuploader可以辅助在Windows、linux或mac系统直接申请iOS证书p12,及上传ipa到App Store。方便在没有苹果电脑情况下上架IPA操作。</span></div>
</div>
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="45vqi-0-0"><span data-offset-key="45vqi-0-0">一、下载安装iOS上架辅助软件Appuploader</span></div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="8bv7s-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="8bv7s-0-0"><span data-offset-key="8bv7s-0-0"> 下载地址:下载软件包后解压直接使用,无需安装。</span></div>
</div>
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="7nrkb-0-0"><span data-offset-key="7nrkb-0-0">二、申请iOS发布证书(p12文件)</span></div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="dp6vk-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="dp6vk-0-0"><span data-offset-key="dp6vk-0-0"> 发布证书用于上架,证书有p12及mobileprovision两个文件,配套使用,先申请p12。</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="c1to4-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="c1to4-0-0"><span data-offset-key="c1to4-0-0">1、用苹果开发者账号登录appuploader软件后,点击创建苹果证书 </span></div>
</div>
<div class="Image-captionContainer" data-size="normal">
<div>
<div class="Image-resizerContainer css-ym3v7r" data-size="normal">
<div>
<div>
<div class="ImageDelete-Container css-xi606m">
<div class="ImageDelete-Wrapper css-1gomreu"><img class="Image FocusPlugin--unfocused Image--isBlock lazyload" data-size="normal" data-rawwidth="1281" data-rawheight="774" data-watermark="watermark" data-original-src="https://picx.zhimg.com/v2-5891d4ecae0e44756089b8a9c81ec23a.png" data-watermark-src="https://pica.zhimg.com/v2-a23baef12c36957992a0b396e49d012b.png" data-src="https://picx.zhimg.com/80/v2-5891d4ecae0e44756089b8a9c81ec23a_720w.png">
<div class="css-s0x03z"></div>
</div>
</div>
</div>
</div>
<div class="Image-resizerWrap css-15y8ila">
<div class="Image-buttonWrap css-1baulvz">
<div class="Image-resizerV2 css-k4oyvq"><button class="Button Image-editButton Image-editButtonV2 css-k008qs Button--plain" type="button">编辑</button><button class="Button Image-resizerButton Image-resizerButtonV2 css-k008qs Button--plain" type="button">切换为居中</button></div>
</div>
</div>
</div>
</div>
<div>添加图片注释,不超过 140 字(可选)</div>
</div>
<div class="Image-captionContainer" data-size="normal">
<div>
<div class="Image-resizerContainer css-ym3v7r" data-size="normal">
<div>
<div>
<div class="ImageDelete-Container css-xi606m">
<div class="ImageDelete-Wrapper css-1gomreu"><img class="Image FocusPlugin--unfocused Image--isBlock lazyload" data-size="normal" data-rawwidth="1262" data-rawheight="775" data-watermark="watermark" data-original-src="https://picx.zhimg.com/v2-c10a71d828474457e06be774691b6a9e.png" data-watermark-src="https://pica.zhimg.com/v2-5e378e5504b069a65386daff3c8ffd4c.png" data-src="https://picx.zhimg.com/80/v2-c10a71d828474457e06be774691b6a9e_720w.png">
<div class="css-s0x03z"></div>
</div>
</div>
</div>
</div>
<div class="Image-resizerWrap css-15y8ila">
<div class="Image-buttonWrap css-1baulvz">
<div class="Image-resizerV2 css-k4oyvq"><button class="Button Image-editButton Image-editButtonV2 css-k008qs Button--plain" type="button">编辑</button><button class="Button Image-resizerButton Image-resizerButtonV2 css-k008qs Button--plain" type="button">切换为居中</button></div>
</div>
</div>
</div>
</div>
<div>添加图片注释,不超过 140 字(可选)</div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="ai7js-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="ai7js-0-0"><span data-offset-key="ai7js-0-0"> 类型:</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="4o20n-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="4o20n-0-0"><span data-offset-key="4o20n-0-0"> 证书名称:不要中文、不要太长了、随意设置</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="76k1h-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="76k1h-0-0"><span data-offset-key="76k1h-0-0"> 邮箱:随意</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="9u7qn-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="9u7qn-0-0"><span data-offset-key="9u7qn-0-0"> 密码:证书的密码、比如设置123这样,不用很复杂,记好、打包时要用、很重要</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="69c57-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="69c57-0-0"><span data-offset-key="69c57-0-0"> 应用id:<span data-offset-key="69c57-0-1">这里不用选</span></span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="42hh7-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="42hh7-0-0"><span data-offset-key="42hh7-0-0"> 点击ok创建。</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="3gkj8-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="3gkj8-0-0"><span data-offset-key="3gkj8-0-0">2、创建成功后,找到刚创建的发布证书(<span data-offset-key="3gkj8-0-1">iOS Distribution<span data-offset-key="3gkj8-0-2">这个类型的就是发布证书,如果之前创建过看过期时间或者ID就知道哪个是新创建的了)!</span></span></span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="6c6is-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="6c6is-0-0"><span data-offset-key="6c6is-0-0"> 点击p12 文件,下载保存.p12证书文件到电脑。</span></div>
</div>
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="bkueb-0-0"><span data-offset-key="bkueb-0-0">三、创建iOS发布描述文件(.mobileprovision文件)</span></div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="3bjo5-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="3bjo5-0-0"><span data-offset-key="3bjo5-0-0">1、点击右下角BACK、返回Appuploader首页,选择描述文件进去。</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="f1llm-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="f1llm-0-0"><span data-offset-key="f1llm-0-0">2、点击右下角+ADD,进入申请界面!</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="4g3v3-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="4g3v3-0-0"><span data-offset-key="4g3v3-0-0"> Type:下拉选择发布版profile</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="d6uau-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="d6uau-0-0"><span data-offset-key="d6uau-0-0"> 应用id:下拉选择对应的应用id(又称套装id,appid,BundleID,包名)</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="em4de-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="em4de-0-0"><span data-offset-key="em4de-0-0"> 新APP上架需要先添加一个新的应用id(每个APP对应一个应用id),如果已经之前加过了直接下拉选择。</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="1loau-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="1loau-0-0"><span data-offset-key="1loau-0-0"> 证书:选中全部就行</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="3644p-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="3644p-0-0"><span data-offset-key="3644p-0-0"> Devices:发布版不用选设备</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="6aqle-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="6aqle-0-0"><span data-offset-key="6aqle-0-0"> 输入名称:不要中文,随意,123之类的就行,注意不要跟之前申请过的名称一样,点击ok创建。</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="8sobb-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="8sobb-0-0"><span data-offset-key="8sobb-0-0">3、选择刚创建的发布版描述文件(iOS Distribution这个类型的就是发布描述文件,找刚创建的输入的名称),点击Download下载,保存到电脑</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="eq1tk-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="eq1tk-0-0"><span data-offset-key="eq1tk-0-0"> 申请到p12及mobileprovision这两个iOS证书文件即可去打包了。</span></div>
</div>
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="3ujp6-0-0"><span data-offset-key="3ujp6-0-0">四、iOS打包IPA</span></div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="8q19k-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="8q19k-0-0"><span data-offset-key="8q19k-0-0"> 各开发者工具打包教程,根据自己使用的平台去打包,证书都是一样用。这里介绍了几个平台的打包教程,对应自己使用平台的看看。</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="bltpa-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="bltpa-0-0"><span data-offset-key="bltpa-0-0">现成的ipa重签打包后TestFlight上架教程</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="3imug-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="3imug-0-0"><span data-offset-key="3imug-0-0">开心App平台打包网站教程</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="dcis0-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="dcis0-0-0"><span data-offset-key="dcis0-0-0"> 这里以HBuilder平台为例:</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="thbr-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="thbr-0-0"><span data-offset-key="thbr-0-0">1、打开HBuilder工具,选择开发好的项目,点击发行,选择发行为原生安装包。</span></div>
</div>
<div class="Image-captionContainer" data-size="normal">
<div>
<div class="Image-resizerContainer css-ym3v7r" data-size="normal">
<div>
<div>
<div class="ImageDelete-Container css-xi606m">
<div class="ImageDelete-Wrapper css-1gomreu"><img class="Image FocusPlugin--unfocused Image--isBlock lazyload" data-size="normal" data-rawwidth="696" data-rawheight="372" data-watermark="watermark" data-original-src="https://picx.zhimg.com/v2-391caa7a28ca043219de30374926aa9e.png" data-watermark-src="https://pica.zhimg.com/v2-e7c1996aef33f7a99bf0f2e25dc9b611.png" data-src="https://pica.zhimg.com/80/v2-391caa7a28ca043219de30374926aa9e_720w.png">
<div class="css-s0x03z"></div>
</div>
</div>
</div>
</div>
<div class="Image-resizerWrap css-15y8ila">
<div class="Image-buttonWrap css-1baulvz">
<div class="Image-resizerV2 css-k4oyvq"><button class="Button Image-editButton Image-editButtonV2 css-k008qs Button--plain" type="button">编辑</button><button class="Button Image-resizerButton Image-resizerButtonV2 css-k008qs Button--plain" type="button">切换为居中</button></div>
</div>
</div>
</div>
</div>
<div>添加图片注释,不超过 140 字(可选)</div>
</div>
<div class="Image-captionContainer" data-size="normal">
<div>
<div class="Image-resizerContainer css-ym3v7r" data-size="normal">
<div>
<div>
<div class="ImageDelete-Container css-xi606m">
<div class="ImageDelete-Wrapper css-1gomreu"><img class="Image FocusPlugin--unfocused Image--isBlock lazyload" data-size="normal" data-rawwidth="687" data-rawheight="891" data-watermark="watermark" data-original-src="https://pic1.zhimg.com/v2-e879fd8a521cd329fc8d71b3b51fc634.png" data-watermark-src="https://picx.zhimg.com/v2-a9d83b1ce5d3723f955ed5f2415c55ff.png" data-src="https://picx.zhimg.com/80/v2-e879fd8a521cd329fc8d71b3b51fc634_720w.png">
<div class="css-s0x03z"></div>
</div>
</div>
</div>
</div>
<div class="Image-resizerWrap css-15y8ila">
<div class="Image-buttonWrap css-1baulvz">
<div class="Image-resizerV2 css-k4oyvq"><button class="Button Image-editButton Image-editButtonV2 css-k008qs Button--plain" type="button">编辑</button><button class="Button Image-resizerButton Image-resizerButtonV2 css-k008qs Button--plain" type="button">切换为居中</button></div>
</div>
</div>
</div>
</div>
<div>添加图片注释,不超过 140 字(可选)</div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="66kbs-0-0"> </div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="g7ij-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="g7ij-0-0"><span data-offset-key="g7ij-0-0">2、打包成功后,下载IPA文件至本地电脑。</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="b272b-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="b272b-0-0"><span data-offset-key="b272b-0-0">3.利用AppUploader 上传IPA步骤</span></div>
</div>
<div class="Image-captionContainer" data-size="normal">
<div>
<div class="Image-resizerContainer css-ym3v7r" data-size="normal">
<div>
<div>
<div class="ImageDelete-Container css-xi606m">
<div class="ImageDelete-Wrapper css-1gomreu"><img class="Image FocusPlugin--unfocused Image--isBlock lazyload" data-size="normal" data-rawwidth="1265" data-rawheight="786" data-watermark="watermark" data-original-src="https://picx.zhimg.com/v2-653ebd1dcbe67f906efca0647ee7d0b6.png" data-watermark-src="https://pica.zhimg.com/v2-f2b0b21ddcdbc34d9be793998180e243.png" data-src="https://picx.zhimg.com/80/v2-653ebd1dcbe67f906efca0647ee7d0b6_720w.png">
<div class="css-s0x03z"></div>
</div>
</div>
</div>
</div>
<div class="Image-resizerWrap css-15y8ila">
<div class="Image-buttonWrap css-1baulvz">
<div class="Image-resizerV2 css-k4oyvq"><button class="Button Image-editButton Image-editButtonV2 css-k008qs Button--plain" type="button">编辑</button><button class="Button Image-resizerButton Image-resizerButtonV2 css-k008qs Button--plain" type="button">切换为居中</button></div>
</div>
</div>
</div>
</div>
<div>添加图片注释,不超过 140 字(可选)</div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="2nklf-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="2nklf-0-0"><span data-offset-key="2nklf-0-0"> 3.1 选择IPA</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="mcla-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="mcla-0-0"><span data-offset-key="mcla-0-0">3.2 设置专用密码邮箱,与登录账号不相同</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="f45dd-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="f45dd-0-0"><span data-offset-key="f45dd-0-0">3.3.上传成功之后会出现黑屏窗口,最底部有SUCCESS 提示</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="4fjll-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="4fjll-0-0"><span data-offset-key="4fjll-0-0">4.上传成功之后,直接登录苹果应用商店构建版本可以选择到,上传的IPA文件 </span></div>
</div>
<div class="Image-captionContainer" data-size="normal">
<div>
<div class="Image-resizerContainer css-ym3v7r" data-size="normal">
<div>
<div>
<div class="ImageDelete-Container css-xi606m">
<div class="ImageDelete-Wrapper css-1gomreu"><img class="Image FocusPlugin--unfocused Image--isBlock lazyload" data-size="normal" data-rawwidth="1287" data-rawheight="629" data-watermark="watermark" data-original-src="https://picx.zhimg.com/v2-c72a9b45b366711e7619de8f272af930.png" data-watermark-src="https://picx.zhimg.com/v2-62afef9ffbb937e527068a1b2680bd89.png" data-src="https://picx.zhimg.com/80/v2-c72a9b45b366711e7619de8f272af930_720w.png">
<div class="css-s0x03z"></div>
</div>
</div>
</div>
</div>
<div class="Image-resizerWrap css-15y8ila">
<div class="Image-buttonWrap css-1baulvz">
<div class="Image-resizerV2 css-k4oyvq"><button class="Button Image-editButton Image-editButtonV2 css-k008qs Button--plain" type="button">编辑</button><button class="Button Image-resizerButton Image-resizerButtonV2 css-k008qs Button--plain" type="button">切换为居中</button></div>
</div>
</div>
</div>
</div>
<div>添加图片注释,不超过 140 字(可选)</div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="cm6uf-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="cm6uf-0-0"><span data-offset-key="cm6uf-0-0">3、iTunes拖入(推荐)</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="2k3bh-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="2k3bh-0-0"><span data-offset-key="2k3bh-0-0">这种方法十分方便。具体步骤请看动态图:</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="b5c1k-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="b5c1k-0-0"><span data-offset-key="b5c1k-0-0">注意:itunes里的“我的应用程序”是指电脑上的程序,不要求联机,可以把里面的app删除</span></div>
</div>
<div class="Image-captionContainer" data-size="normal">
<div>
<div class="Image-resizerContainer css-ym3v7r" data-size="normal">
<div>
<div>
<div class="ImageDelete-Container css-xi606m">
<div class="ImageDelete-Wrapper css-1gomreu"><img class="Image FocusPlugin--unfocused Image--isBlock lazyload" data-size="normal" data-rawwidth="1258" data-rawheight="675" data-watermark="watermark" data-original-src="https://picx.zhimg.com/v2-8a48b044a7af0cc5529c525250597ec7.gif" data-watermark-src="https://picx.zhimg.com/.gif" data-src="https://picx.zhimg.com/80/v2-8a48b044a7af0cc5529c525250597ec7_720w.gif">
<div class="css-s0x03z"></div>
</div>
</div>
</div>
</div>
<div class="Image-resizerWrap css-15y8ila">
<div class="Image-buttonWrap css-1baulvz">
<div class="Image-resizerV2 css-k4oyvq"><button class="Button Image-editButton Image-editButtonV2 css-k008qs Button--plain" type="button">编辑</button><button class="Button Image-resizerButton Image-resizerButtonV2 css-k008qs Button--plain" type="button">切换为居中</button></div>
</div>
</div>
</div>
</div>
<div>添加图片注释,不超过 140 字(可选)</div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="3tpqm-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="3tpqm-0-0"><span data-offset-key="3tpqm-0-0">3、自动编译脚本</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="77fjb-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="77fjb-0-0"><span data-offset-key="77fjb-0-0">编写一个全自动编译脚本,从而不用打开XCODE编译运行即可实现打包,这种方法也十分快捷。有兴趣的可以看<span data-offset-key="77fjb-1-0">这篇文章</span><span data-offset-key="77fjb-2-0">。</span></span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="ff6c3-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="ff6c3-0-0"><span data-offset-key="ff6c3-0-0">缺点:不出错还好,一旦有语法错误或者其他错误出现就不好处理</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="bfeig-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="bfeig-0-0"><span data-offset-key="bfeig-0-0">操作:</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="3q94g-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="3q94g-0-0"><span data-offset-key="3q94g-0-0">1)所需语句(可直接在命令行中执行)</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="3oinp-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="3oinp-0-0"><span data-offset-key="3oinp-0-0">xcodebuild -configuration Release </span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="44r52-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="44r52-0-0"><span data-offset-key="44r52-0-0">进入所在工程的根目录文件夹,执行上面的语句,即可开始自动使用release模式build该工程文件。</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="3ik1-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="3ik1-0-0"><span data-offset-key="3ik1-0-0">注意:文件必须添加证书。</span></div>
</div>
<ol class="public-DraftStyleDefault-ol" data-offset-key="8omkr-0-0">
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-reset public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="8omkr-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="8omkr-0-0"><span data-offset-key="8omkr-0-0">mkdir -p ipa/Payload</span></div>
</li>
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="80gak-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="80gak-0-0"><span data-offset-key="80gak-0-0">cp -r ./Release-iphoneos/PRODUCT_NAME.app ./ipa/Payload</span></div>
</li>
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="46co0-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="46co0-0-0"><span data-offset-key="46co0-0-0">cd ipa</span></div>
</li>
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="31niv-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="31niv-0-0"><span data-offset-key="31niv-0-0">zip -r $FILE_NAME *</span></div>
</li>
</ol>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="j9de-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="j9de-0-0"><span data-offset-key="j9de-0-0">进入生成的app文件所在的文件夹,执行上面的语句,可将app文件打包为ipa文件。</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="d9tgh-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="d9tgh-0-0"><span data-offset-key="d9tgh-0-0">注意:app文件可直接导入iTunes后直接运行,但是没有icon,只需将icon放入./ipa文件夹一起打包即可。</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="750ub-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="750ub-0-0"><span data-offset-key="750ub-0-0">app文件默认生成路径(可修改):</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="d9h5u-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="d9h5u-0-0"><span data-offset-key="d9h5u-0-0">Xcode3:所在工程根目录/build/Debug-iphoneos/PRODUCT _NAME</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="4f11n-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="4f11n-0-0"><span data-offset-key="4f11n-0-0">Xcode4及以后:./user/<current User>/Library/Developer/XCode/DerivedData/<Project name>-<other character>/Build/Products 下有:Debug-iphoneos 和 Release-iphoneos以及Debug-iphonesimulator</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="5ohk5-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="5ohk5-0-0"><span data-offset-key="5ohk5-0-0">icon要求:</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="do72h-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="do72h-0-0"><span data-offset-key="do72h-0-0">不大于500*500</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="78nvn-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="78nvn-0-0"><span data-offset-key="78nvn-0-0">格式为jpg</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="7748n-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="7748n-0-0"><span data-offset-key="7748n-0-0">命名为iTunesArtwork</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="2svve-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="2svve-0-0"><span data-offset-key="2svve-0-0">不能有后缀</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="3ups4-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="3ups4-0-0"><span data-offset-key="3ups4-0-0">2)脚本的写法(mac/linux)</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="f3cq9-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="f3cq9-0-0"><span data-offset-key="f3cq9-0-0">脚本格式</span></div>
</div>
<ol class="public-DraftStyleDefault-ol" data-offset-key="31adf-0-0">
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-reset public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="31adf-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="31adf-0-0"><span data-offset-key="31adf-0-0">#!/bin/sh</span></div>
</li>
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="cafhi-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="cafhi-0-0"><span data-offset-key="cafhi-0-0">mkdir -p ipa/Payload</span></div>
</li>
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="1tv2j-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="1tv2j-0-0"><span data-offset-key="1tv2j-0-0">cp -r ./Release-iphoneos/PRODUCT_NAME.app ./ipa/Payload</span></div>
</li>
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="cgtu8-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="cgtu8-0-0"><span data-offset-key="cgtu8-0-0">cd ipa</span></div>
</li>
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="bucco-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="bucco-0-0"><span data-offset-key="bucco-0-0">zip -r $FILE_NAME *</span></div>
</li>
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="7vola-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="7vola-0-0"><span data-offset-key="7vola-0-0">exit 0</span></div>
</li>
</ol>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="2g943-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="2g943-0-0"><span data-offset-key="2g943-0-0">脚本创建方法</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="4rmq8-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="4rmq8-0-0"><span data-offset-key="4rmq8-0-0">打开终端</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="fbt09-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="fbt09-0-0"><span data-offset-key="fbt09-0-0"> vim FILE_NAME.sh</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="79sh9-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="79sh9-0-0"><span data-offset-key="79sh9-0-0">按 “i” 进入编辑模式,输入脚本内容,按“ESC” 退出编辑模式,按“ZZ”(大写)保存并退出。</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="bgub8-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="bgub8-0-0"><span data-offset-key="bgub8-0-0">关于权限</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="enocm-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="enocm-0-0"><span data-offset-key="enocm-0-0">使用<span data-offset-key="enocm-0-1">ls -l<span data-offset-key="enocm-0-2">可以查看当前目录下文件及文件夹的权限。</span></span></span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="4h5je-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="4h5je-0-0"><span data-offset-key="4h5je-0-0">这里将权限改为777即可<span data-offset-key="4h5je-0-1">chmod 777 FILE_NAME</span></span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="9dugo-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="9dugo-0-0"><span data-offset-key="9dugo-0-0">然后重命名为.ipa</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="kgi1-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="kgi1-0-0"><span data-offset-key="kgi1-0-0"> mv xx.zip xx.ipa</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="5q9qh-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="5q9qh-0-0"><span data-offset-key="5q9qh-0-0">4、解压修改后缀名(本文推荐)</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="25jbc-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="25jbc-0-0"><span data-offset-key="25jbc-0-0">这种方式是在xcode编译产生出.app包的基础上进行进一步处理,通过简单的压缩以及修改后缀名即可实现ipa发包。</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="frd8r-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="frd8r-0-0"><span data-offset-key="frd8r-0-0">这种方式下又可通过脚本自动处理以及手动处理两种途径实现,推荐脚本方法,一劳永逸。</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="b5ive-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="b5ive-0-0"><span data-offset-key="b5ive-0-0">4.1 脚本自动生成ipa包</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="9fj6j-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="9fj6j-0-0"><span data-offset-key="9fj6j-0-0">Step1: 新建文件夹,命名为"distribute",新建 distribute.sh 脚本文件,内容为:(注意,脚本中所有appName请先替换成你的真正app名称)</span></div>
</div>
<div class="Image-captionContainer" data-size="normal">
<div>
<div class="Image-resizerContainer css-ym3v7r" data-size="normal">
<div>
<div>
<div class="ImageDelete-Container css-xi606m">
<div class="ImageDelete-Wrapper css-1gomreu"><img class="Image FocusPlugin--unfocused Image--isBlock lazyload" data-size="normal" data-rawwidth="20" data-rawheight="20" data-watermark="watermark" data-original-src="https://picx.zhimg.com/v2-51e409b11aa51c150090697429a953ed.gif" data-watermark-src="https://picx.zhimg.com/.gif" data-src="https://pica.zhimg.com/80/v2-51e409b11aa51c150090697429a953ed_720w.gif">
<div class="css-s0x03z"></div>
</div>
</div>
</div>
</div>
<div class="Image-resizerWrap css-15y8ila"> </div>
</div>
</div>
<div>添加图片注释,不超过 140 字(可选)</div>
</div>
<ol class="public-DraftStyleDefault-ol" data-offset-key="7hb22-0-0">
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-reset public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="7hb22-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="7hb22-0-0"><span data-offset-key="7hb22-0-0">rm -rf appName</span></div>
</li>
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="367hl-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="367hl-0-0"><span data-offset-key="367hl-0-0">mkdir appName</span></div>
</li>
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="50ct2-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="50ct2-0-0"><span data-offset-key="50ct2-0-0">mkdir appName/Payload</span></div>
</li>
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="7coeg-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="7coeg-0-0"><span data-offset-key="7coeg-0-0">cp -r appName.app appName/Payload/appName.app</span></div>
</li>
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="9cacn-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="9cacn-0-0"><span data-offset-key="9cacn-0-0">cp Icon.png appName/iTunesArtwork</span></div>
</li>
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="3q40n-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="3q40n-0-0"><span data-offset-key="3q40n-0-0">cd appName</span></div>
</li>
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="1a0kj-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="1a0kj-0-0"><span data-offset-key="1a0kj-0-0">zip -r appName.ipa Payload iTunesArtwork</span></div>
</li>
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="426um-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="426um-0-0"><span data-offset-key="426um-0-0"> </span></div>
</li>
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="a8tnp-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="a8tnp-0-0"><span data-offset-key="a8tnp-0-0">exit 0</span></div>
</li>
</ol>
<div class="Image-captionContainer" data-size="normal">
<div>
<div class="Image-resizerContainer css-ym3v7r" data-size="normal">
<div>
<div>
<div class="ImageDelete-Container css-xi606m">
<div class="ImageDelete-Wrapper css-1gomreu"><img class="Image FocusPlugin--unfocused Image--isBlock lazyload" data-size="normal" data-rawwidth="20" data-rawheight="20" data-watermark="watermark" data-original-src="https://picx.zhimg.com/v2-51e409b11aa51c150090697429a953ed.gif" data-watermark-src="https://pic1.zhimg.com/.gif" data-src="https://pic1.zhimg.com/80/v2-51e409b11aa51c150090697429a953ed_720w.gif">
<div class="css-s0x03z"></div>
</div>
</div>
</div>
</div>
<div class="Image-resizerWrap css-15y8ila"> </div>
</div>
</div>
<div>添加图片注释,不超过 140 字(可选)</div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="ce3bo-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="ce3bo-0-0"><span data-offset-key="ce3bo-0-0">Step2: 将要转化的.app文件放到distribute/文件夹下</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="fg3o4-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="fg3o4-0-0"><span data-offset-key="fg3o4-0-0">这时的文件夹目录结构是这样的:(注意,脚本中所有appName请先替换成你的真正app名称)</span></div>
</div>
<ol class="public-DraftStyleDefault-ol" data-offset-key="2q50e-0-0">
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-reset public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="2q50e-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="2q50e-0-0"><span data-offset-key="2q50e-0-0">distribute/distribute.sh</span></div>
</li>
<li class="Editable-styled public-DraftStyleDefault-orderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" data-block="true" data-editor="c5dvs" data-offset-key="33hut-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="33hut-0-0"><span data-offset-key="33hut-0-0">distribute/appName.app</span></div>
</li>
</ol>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="3i5gk-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="3i5gk-0-0"><span data-offset-key="3i5gk-0-0">Step3: 运行distribute.sh脚本</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="60b82-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="60b82-0-0"><span data-offset-key="60b82-0-0">打开Terminal,cd到distribute文件夹下,把distribute.sh拉到 terminal 中执行。如果提示 permission denied,则用 "chmod 777 distribute.sh" 命令赋予权限后,再执行一次distribute.sh。</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="foair-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="foair-0-0"><span data-offset-key="foair-0-0">Step4: 大约若干秒后,会在distribute/文件夹下生成appName/文件夹,里面的appName.ipa就是我们想要的包。</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="2072r-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="2072r-0-0"><span data-offset-key="2072r-0-0">4.2 手动压缩改后缀方式</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="9luc0-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="9luc0-0-0"><span data-offset-key="9luc0-0-0">这种方式与4.1的方法本质是一样的。</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="e3crs-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="e3crs-0-0"><span data-offset-key="e3crs-0-0">Step1: 新建 "Payload" 文件夹,注意名字要一字不差;</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="fi6kj-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="fi6kj-0-0"><span data-offset-key="fi6kj-0-0">Step2: 将你的 .app 包放到 Payload 中,注意 app 的名字不做任何更改,就用 xcode 生成的 app 名称;</span></div>
</div>
<div class="Editable-unstyled" data-block="true" data-editor="c5dvs" data-offset-key="8i3jf-0-0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="8i3jf-0-0"><span data-offset-key="8i3jf-0-0">Step3: 在Payload文件夹上右键压缩成zip,然后将生成的 .zip 文件后缀改成 .ipa 即可。</span></div>
</div><br><br>
来源:https://www.cnblogs.com/gddg/p/17391806.html
頁:
[1]