iOS打包生成ipa的几种方式

写在前面,内容大致转载自 http://www.cnblogs.com/wengzilin/p/4601684.html
感谢大神分享。其中使用iTunes的方式已经无法使用。
推荐使用最后一种方式生成ipa

1.通过xcode来打包
这是最原始的方式。具体的百度一下就有了


2.当我们打包生成的不是ipa,而是.app文件时,应该如何拿到其中的ipa呢,下面有三种方式

2.1通过iTunes(过时,或者说不能用了)
这种方法就是打开iTunes 找到应用的选项,然后将.app文件直接拖进去,然后就可以再iTunes中找到对应的应用,然后右键查看包内容就能找到对应的ipa了。正如开头所说买这种方式已经不能使用了。原因是 iTunes的【应用】选项已经被删除了。不过在可以使用的时候 还是很方便的


2.2通过脚本来实现【不出错还好,一旦有语法错误或者其他错误出现就不好处理】
可以参考 http://www.51testing.com/html/04/344504-822334.html


2.3解压改后缀名(本文推荐)
这种方式是在xcode编译产生出.app包的基础上进行进一步处理,通过简单的压缩以及该后缀名即可实现ipa发包。

这种方式下又可通过脚本自动处理以及手动处理两种途径实现,推荐脚本方法,一劳永逸。

2.3.1 脚本自动生成ipa包

Step1: 新建文件夹,命名为“distribute”,新建distribute.sh脚本文件,内容为:(注意,脚本中所有appName请先替换成你的真正app名称)

复制代码
rm -rf appName
mkdir appName
mkdir appName/Payload
cp -r appName.app appName/Payload/appName.app
cp Icon.png appName/iTunesArtwork
cd appName
zip -r appName.ipa Payload iTunesArtwork

exit 0
复制代码

Step2: 将要转化的.app文件放到distribute/文件夹下

这时的文件夹目录结构是这样的:(注意,脚本中所有appName请先替换成你的真正app名称)

distribute/distribute.sh
distribute/appName.app

Step3: 运行distribute.sh脚本

打开Terminal,cd到distribute文件夹下,把distribute.sh拉到terminal中执行。如果提示permission denied,则用“chmod 777 distribute.sh”命令赋予权限后,再执行一次distribute.sh。

Step4: 大约若干秒后,会在distribute/文件夹下生成appName/文件夹,里面的appName.ipa就是我们想要的包。

2.3.2 手动压缩改后缀方式

这种方式与4.1的方法本质是一样的。

Step1: 新建“Payload”文件夹,注意名字要一字不差;

Step2: 将你的.app包放到Payload中,注意app的名字不做任何更改,就用xcode生成的app名称;

Step3: 在Payload文件夹上右键压缩成zip,然后将生成的.zip文件后缀改成.ipa即可

你可能感兴趣的:(iOS,工具)