Xcode打包ipa的基本步骤

作者: KevinTing | 来源:发表于2015-11-03 21:53 被阅读104839次

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

    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

    相关文章

      网友评论

      • 不辣先生:ipa包对sdk的压缩和代码的压缩程度是否不一样?,我发现我把某些文件制作成framwork,再打包,ipa包变大了?
      • 4999f4b4f3c4:在edit scheme中设置run的模式为realese后将.app文件拖到iunes里 这种方式的ipa可以上传App Store吗
      • 郑明明:哦,不对😂,是应该选第一个
      • 郑明明:打包的最后一步是不是应该选第二个,保存在本地
      • f39f9bcc369f:我好佩服第一个整明白这玩意的人
      • 5c0f628cec51:楼主您好,想请问无证书打包部分
        第一步骤设置使用无证书的开发者账号,是一定要使用没交钱的个人开发者账号?
        因为之前都是使用已交钱的个人账号,经由设备ID添加进IPA中的方式发送,所以是否能继续使用这账号进行无证书打包?

        另外部分其它网站教学上有另外告知需要先于MAC上先创建证书以及修改Xcode配置文件、工程设置等,想请问上述操作是必要?
      • 7ea9aa1c0622:博主好,关于无证书打包第一步,因为有推送,我用了一个有证书的开发者账号,有交钱的;这样打出来的包,还能发出去让人签名使用吗?
        KevinTing: @qjwsd 不行,这种个人开发者账号打包的ipa只能交给appstore进行验证发布之后给别人装。没有提交appstore的不能
      • ab4bb0305e15:楼主公司级账号能不用添加设备id安装ipa吗?
        KevinTing: @帅斌 不用
      • KevinTing:是的,除非“其他手机”越狱了。
      • Jack丶Tang:请问 我打包的ipa文件要想安装到其它手机上 是不是一定得有开发者账号 然后配置证书呢?
      • 鑫龙魂:楼主问个问题,我现在已经创建好了一个应用要发布到 AppStore 的,现在想要使用企业账号打包,用来分发包进行测试,可以实现吗?
        KevinTing: @鑫龙魂 当然可以啊
      • 3a101a8faea0:好文章
      • 45134d94b238:为什么打包好的ipa文件不能在xcode中安装到我的测试手机上,也就是在做无证书导出ipa文件时候的测试手机。
        45134d94b238:我在PP助手上面把用itunes生成的三点多兆的ipa 文件进行安装,是可以安装运行的,我的设备已经越狱,还是要多些博主····
        45134d94b238:@KevinTing 原来是这个样子,如果发布到越狱商店的话是不是要交费呢? 我的设备越狱了,用的的PP助手给调试的应用打包成ipa文件,能直接在xcode中安装到设备中,大小是七兆多,用itune这种方式生成的ipa 三点多兆,不能进行安装······
        KevinTing:@破鞋儿真破 不能装,除非你给他签名或者去越狱,这个ipa的作用就是丢给别人去签名的,或者发布到越狱商店
      • 45134d94b238: 十分感谢楼主按照你的教程,最后搞了个没有签名的ipa ,因为没有开发者账号,自己也是个新手,很有用!!
      • ImFsx:你这写个文档,马赛克的也太多了吧
      • ryugaku:马克
      • 臭脚丫子CC:我的也是打包好了 安装不成功 证书什么都是用的企业级的
        KevinTing:@1fbb569173f4 应该是证书的问题,前些时苹果进行证书升级。。。
      • 阳光的大男孩儿:主要是配置code sign的时候,容易出问题。
        KevinTing:@依然那么爱你1314 你可以发邮件到819931323@qq.com。我可以帮你看一下
      • 阳光的大男孩儿:博主好,我看到你写的打包文章,我这还有一个问题,就是安装不成功,就是安装好之后,app一直打不开,我就是按着你的方法走的
        45134d94b238: @依然那么爱你forever 我没有开发者账号,不过我测试手机已经越狱,在pp助手中安装了打包好的ipa文件,但是在xcode中是安装失败的
        阳光的大男孩儿: @破鞋儿真破 你需要查看一下如何用iTunes安装ipa包;或者是你的手机不是测试机,你需要上网将你的测试机的UDID放到你的开发者账户的里面。
        45134d94b238:@依然那么爱你forever 我的是没有证书的,最后第五步也完成了,但是打包好的ipa,安装不成功呢,不知道你解决了没有啊?

      本文标题:Xcode打包ipa的基本步骤

      本文链接:https://www.haomeiwen.com/subject/zhbqhttx.html