iOS学习笔记IOS个人开发iOS开发基础知识

Xcode打包ipa的基本步骤

2015-11-03  本文已影响104839人  KevinTing

确保电脑联网,不然干什么都是扯淡!!

1、关于Apple ID

很简单,任何人只要跟苹果设备打交道,必须要有Apple ID。要想打包ipa,同样也必须要有Apple ID,没有的自己注册去。

下面为在Xcode中添加Apple ID作为账号的步骤


CA45BCA6-EB11-49FE-AB94-C8719E9B37E2.png
591BFCB0-711D-43FD-B401-887CFDF69643.png

2、关于开发者账号

http://www.lofter.com/postentry?from=search&permalink=2555de_672c927
网上有大批的开发者账号注册流程,可以去参考,应该很简单。我没有注册过,一直用的别人的账号。
注册账号之后,可以去苹果的开发者中心
https://developer.apple.com/membercenter/index.action
管理账号,证书,provision profiles等等。还可以添加测试设备等。

4F0CD668-E1F9-48EC-B81C-B8F2795F4C97.png
点进去会有这样的配置界面的。
EF6254C0-5C04-4C6C-A16C-4642681399BB.png

3、关于关于Certificate、Provisioning Profile

可以参考这篇文章看看他们之间的关系,Certificate(证书)就是app在打包的时候必须签名,苹果iOS系统在安装app之前会验证Certificate,否则不会通过安装。
Provisioning Profile简单来说就是包含Apple ID,证书,和设备ID等各种信息的集合体。一般来说,在打包ipa的时候,必须配置Provisioning Profile。

下面来看看Provisioning Profile在Xcode中的体现

5522E65F-E167-4F6F-B4B9-8406EF8FA5C9.png
如果前面添加了Apple ID账号,进入这个界面,会看到有选项给你选的。
01B8969D-F29C-44AB-A403-64926596B143.png
我这里有2个账号。一个是开发者,一个不是。
33032EB6-7974-4278-9822-11D44F669BF8.png
选择个人账号之后,很明显没有签名,也就是对应这个Apple ID账号在你的Mac本地是没有对应的Provisioning Profile的。Provisioning Profile是需要去开发者中心
https://developer.apple.com/membercenter/index.action
配置的,具体怎么配置网上有教程
http://www.w-cun.com/post/ioskai_34009.htm
配置完成之后从网上下载下来保存安装到本地的。
怎么保存安装,第一种,直接去开发者中心下载安装即可,这里不介绍。
第二种、直接在Xcode中点击上图所示的“Fix Issue”即可。 D08DC859-DC72-400D-B397-AD12F596E7EB.png

当然我的这个个人账号不是开发者,那就更不谈配置Provisioning Profile了,所以“Fix Issue”没有什么卵用。

换一个有效的账号,“Fix Issue”之后警告消失了!表明你可以用这个账号进行签名打包。


A727D304-81C8-400B-A30A-4ED05AB9553F.png

不论用上面哪种方法安装Provisioning Profile,安装完成之后,可以在这里/Users/XXXXX/Library/MobileDevice/Provisioning Profiles找到相应的文件,如果以后换了台Mac,发现不能签名了,可以直接拷贝这些文件过去。


F9B02DDA-7C44-4F06-911F-8332F62D3AF5.png

4、证书签名

在Xcode7之前,真机调试和打包ipa是必须要签名的。但是Xcode7出来了,真机调试不需要签名了。打包ipa也可以不需要签名,那不是可以绕过苹果安装app了??想得美,如果不签名打包的ipa那是不能安装的!!!打包可以不需要签名,但是你要想安装的话,必须签名。

签名打包就是在编译的过程中加入证书签名,那肯定是需要去Xcode中配置的,目前网上有方法能实现企业级证书打包签名不需要在编译时,而在编译之后。因此现在打包有两种方式:
1、在Xcode中配置code sign,实现签名打包ipa。适用于企业级账号证书,个人账号证书。
2、在Xcode中无证书打包ipa,上传到指定工作室网站,淘宝上现在一大堆打包服务的,由别人用他们的账号签名ipa。适用于企业及账号。

5、Xcode证书签名打包

1、设置有效的Archive配置,如下图所示,这里面一定要选择复制“Release”,因为发布版本一定是release的,这个做程序的都知道哈。

913DFB03-142A-42A2-9F69-6FC44C2A8EF0.png

2、Edit Scheme

26099984-B13C-4915-8118-DDF850521C41.png

这里选择刚才复制“Release”的add-hoc,当然你也可以不做第1步,这里直接选择“Release”也是可以的,添加add-hoc纯粹是为了区分,方便管理。

7B4099A1-2FE2-4EBC-A96E-9165480EA015.png

3、配置code sign


4F342FAB-9A6E-40AF-91CE-998FEBFDE560.png

还有一个地方,也要填,两个code sign的地方都不能漏


9E656F89-0121-4FFB-953A-F4C363C83C73.png

4、Archive
先设置编译设备,只能选择iOS Device,选择其他模拟器是不能Archive的


26A53F75-7920-42BC-92D3-7B114966BBD2.png

然后Archive


2964D74F-4D0D-4C9B-BF3B-2789BD5E6F08.png
等待,Archive会弹出这个
3BBB2944-08E3-43F4-A9DF-982560B98272.png
最上面的一个就是最新Archive出来的。。。

5、Export
最后就是导出了,点击上图中的“Export”,如下所示,很显然第一个选项是发布app的,不要点,那是个人开发者账号可以干的事情。



下面把三个的话,看上面的文字,写的很清楚,打包的ipa用于在app store外面发布。
那么对于个人账号,打包的ipa能发布么?能安装到iOS设备上么?
答案是不能,能的话还需要越狱干嘛,还需要app store干嘛,个人账号发布的app唯一途径就是app store,发布app store除了我上面写的1,2,3,4,5巴拉巴拉之外,还需要去开发者中心填一堆的东西。这里不做介绍,自己去爬文章哈。
那么这里个人账号的打包的ipa有什么卵用呢?
卵用就是这个ipa可以安装到一部分iOS设备中,这些设备的ID已经添加到签名这个ipa的开发者账号的“Devices”里面了。也就是这里有你这个设备的话,你是可以装的!其他的都滚粗!


43EBD77D-CCEC-4DC0-9C4D-824E54005528.png

那么企业级开发者账号签名的ipa呢?能安装到iOS设备上么?
答案是可以,这就是企业账号的作用了。可以直接装,也可以直接用,但是用之前iOS一般都会提示你不信任这个证书,要去设置里面设置信任,才可以使用。

扯了这么多,继续,上面export的时候下面三个选项我没有一一试,选择第二个。然后选择签名证书对应的开发者


966E462E-F7B0-44E1-884A-D18DB8A89357.png

继续


B5600593-4EA2-4985-AAEF-CDB0161F0DA9.png 8EFB11CA-BC80-4D88-B377-9AC2BF720050.png

ok,大功告成了,ipa打包成功


C927D096-BFE0-4FB5-B2D7-B0F7915882EC.png

6、无证书打包

淘宝上一堆企业签名打包的(我不会告诉你我用过),他们会告诉你打包一个ipa,然后发给他,他给你签名,你就可以用了。真的很良心啊!那这个时候你肯定不要自己去签名ipa了。利用Xcode7的免证书真机调试功能,我们可以很简单的打包ipa。需要设备一台。
1、设置使用无证书的开发者账号,没有交钱的。当然,如果下面出现警告,那么fix issuse即可。等待警告消失,就可以进行真机调试了。直接run的话app就会自动安装到你的iphone上。


C4784D71-353F-42A4-BF42-006CA28AC780.png

2、在edit scheme中设置run的模式为realese。如下所示,一定要设置为release,图示中设置的add-hoc是copy的release。你要发布,当然得release版本了。


D997CF5F-596B-4C2D-9526-34A021E160D2.png

3、run。这个时候手机上就安装了app。然后在finder中全局搜索你的app。注意如果你的工程名位XXX,那么请搜索XXX.app。你会看到搜索结果。然后右键,“在上层文件夹中显示”。如果有多个结果的话,记得选最近编辑的那一个。


614A6907-300C-4189-8C67-504E03AB5B63.png
865EDFBC-56D5-4607-A6E6-76C60306E366.png

4、将找到的app拖到itunes中,替换原来的应用。


035E87AC-6519-4AC9-B7EC-24EA9651AC5E.png

5、在文件夹中显示,就可以找到ipa了。


1151A8BE-76E9-4029-AC41-1E567F72D9D7.png
8D1DCA8A-E4B9-440D-ACBA-DEBA72963BD3.png
上一篇下一篇

猜你喜欢

热点阅读