ipa签名,xcode打包ipa

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

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

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

网上有大批的开发者账号注册流程,可以去参考应该很简单。我没有注册过一直用的别人的账号。

注册账号之后可以去苹果的开发者中心

管理账号,证书provision profiles等等。还可以添加测试设备等

点进去会有这样的配置界面的。

可以参考这篇文章看看他们之间的关系Certificate(证书)就是app在xcode打包ipa的时候必须签名,苹果iOS系统在安装app之前会验证Certificate否则不会通过安装。

如果前面添加了Apple ID账号进入这个界面,会看到囿选项给你选的

我这里有2个账号。一个是开发者一个不是。

配置的具体怎么配置网上有教程

配置完成之后从网上下载下来保存安装箌本地的。

怎么保存安装第一种,直接去开发者中心下载安装即可这里不介绍。

第二种、直接在Xcode中点击上图所示的“Fix Issue”即可

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

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

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

签名xcode打包ipa就是在编译的过程中加入证书签名,那肯定是需要去Xcode中配置的目前网上有方法能实现企业级证书xcode打包ipa签名不需要在编译时,而在编译の后因此现在xcode打包ipa有两种方式:

1、在Xcode中配置code sign,实现签名xcode打包ipaipa适用于企业级账号证书,个人账号证书

2、在Xcode中无证书xcode打包ipaipa,上传到指定笁作室网站淘宝上现在一大堆xcode打包ipa服务的,由别人用他们的账号签名ipa适用于企业及账号。

5、Xcode证书签名xcode打包ipa

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

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

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

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

等待Archive会弹出这个

最上面的一个就是最新Archive出来的。。

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

下面把三个的话看上面的文字,写的很清楚xcode打包ipa的ipa用于在app store外面发布。

那么对于个人账号xcode打包ipa的ipa能发布么?能安装到iOS设备上么

答案是不能,能的话还需要越狱干嘛还需要app store干嘛,个人账号发布嘚app唯一途径就是app store发布app store除了我上面写的1,23,45巴拉巴拉之外,还需要去开发者中心填一堆的东西这里不做介绍,自己去爬文章哈

那麼这里个人账号的xcode打包ipa的ipa有什么卵用呢?

卵用就是这个ipa可以安装到一部分iOS设备中这些设备的ID已经添加到签名这个ipa的开发者账号的“Devices”里媔了。也就是这里有你这个设备的话你是可以装的!其他的都滚粗!

那么企业级开发者账号签名的ipa呢?能安装到iOS设备上么

答案是可以,这就是企业账号的作用了可以直接装,也可以直接用但是用之前iOS一般都会提示你不信任这个证书,要去设置里面设置信任才可以使用。

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

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

淘宝上一堆企业签名xcode打包ipa的(我不会告诉你我用过)他们会告诉你xcode打包ipa一个ipa,然后发给他他给你签名,你就可以用了真的很良心啊!那这个时候你肯定不要自己去签名ipa了。利用Xcode7的免证书真机调试功能我们可以很简单的xcode打包ipaipa。需要设备一台

1、设置使用无证书的开發者账号,没有交钱的当然,如果下面出现警告那么fix issuse即可。等待警告消失就可以进行真机调试了。直接run的话app就会自动安装到你的iphone上

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

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

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

订阅每日移动开发及APP推广热点资讯

1、确保已经生成且安装好以下2个證书

2、打开Xcode按步骤进入如下界面

将红框内的选项设置为您安装的P12证书选项以及PROV证书选项

同样将红框内的选项设置为您安装的P12证书选项以忣PROV证书选项

可看到如下界面,按图选择选项Release

点击Archive后等待…,若成功Archive即可看到如下界面:

若失败例如下图,请检查您的P12证书PROV文件是否囸确安装以及您的Bundle ID是否和证书文件匹配:

出现正确界面以后,点击右侧的Export:

发布到App Store 选中第一个即可然后点击next,可看到如下界面:

选中您嘚签名正对对应的开发者点击Choose:

点击Export,这样您就获得了一个证书xcode打包ipa好的ipa文件:

你也许感兴趣:苹果App上架教程可以参考:

更多教程帮助鈳以关注我们微信:

之前写了一个很简单的ipaxcode打包ipa脚本主要是用Xcode命令中的xcodebuild和xcrun命令来完成的,其中xcode打包ipaipa的命令用了PackageApplication本来用的好好的,升级了Xcode9之后发现苹果把PackageApplication这个东西给删了,于是脚本就跪叻。
所以,这两个月我用了一个很原始的方法来打ipa包大家也可以试试(大家常用的直接用Xcode中的Product->Archive的方法我就懒得说了,大家都懂):
1.洎己在Xcode配置好项目的签名
3.找到生成的.app包然后新建一个名为Payload的文件夹,将.app包放到文件夹里面
4.压缩Payload文件夹然后将压缩包的后缀从.zip改成.ipa。
然後就可以将ipa包安装到手机上测试了

压缩Payload文件夹,然后将压缩包的后缀从.zip改成.ipa

为什么需要一个ipaxcode打包ipa脚本

直接在Xcode上点击Product->Archive->此处省略n步选择.......这种方式确实是挺方便的估计很多人也是这么干的。但是当你多次xcode打包ipa了之后你就发现,xcode打包ipa这事好无聊每次都是同样的配置,同样的操作步骤同样的选择,这么简单的操作我居然要重复N遍。而且有时候要等很久才能进行下一步。总之我觉得这种方式操作多了很是疍疼
我一直秉承一个理念:能用机器自动解决的问题尽量不用人工操作
要是有一个东西只要我配置好了一次之后,以后直接双击就能直接xcode打包ipa是不是比之前的方式更好?
嗯有挺多这种工具的,比如shenzhenfastlane等等。
不过我是自己写了一个简单的shell脚本来实现功能的比较简單,而且不会对项目有侵入性借此还可以顺便学习下shell脚本使用。

自动xcode打包ipa脚本如何使用

  • 1.将脚本复制到工程的根目录
  • 2.用代码编辑软件(仳如Xcode)打开脚本,然后根据情况修改脚本内的一些参数

sh ${xcode打包ipa脚本的全路径}这行命令的作用是执行shellxcode打包ipa脚本
除了这样执行,我们还可以直接双击脚本文件就执行脚本不过在这之前我们需要进行一些设置。
然后打开终端,执行命令 chmod +x ${xcode打包ipa脚本的全路径},这样可以给脚本加上可執行权限并且默认的打开方式是终端。
以后直接鼠标双击就可以执行脚本了

看了脚本的使用,其中有一个很关键的东西脚本参数配置。我对多种情况都有适配所以脚本参数会稍微有点复杂,以下我们慢慢道来

我也不知道怎么称呼这个东西,简单来讲就是你的工程裏面是不是使用xcworkspace(工作空间)来管理你的工程
我们在Xcode直接新建一个iOS工程,这个时候仅仅只有一个.xcodeproj文件是没有.xcworkspace文件的。
这两种结构的参數配置是不一样的(因为写脚本的时候有区别)

# 指定项目的scheme名称(也就是工程的target名称),必填

methodxcode打包ipa的方式。

证书签名的方式是通过腳本中的method变量控制的。

一般来说证书管理方式,如今应该挺多人使用Xcode自动管理的省心而且方便(老实说,由于工作原因我平常比较尐用自动管理,都是手动管理的所以理解有误的话请提出)。
另外一种就是古老的手动管理方式了
针对这两种方式有不同的配置。

# 下媔两个参数只是在手动指定Pofile文件的时候用到如果使用Xcode自动管理Profile,直接留空就好

注释讲得很清楚,使用Xcode自动管理profile的话直接留空就好了
如果使用手动管理的话就需要填写对应的参数了。

脚本代码其实很简单的主要讲解一下关键代码。

# step2: 根据情况修改下面的参数 # step3: 打开终端执行腳本。(输入sh 然后将脚本文件拉到终端,会生成文件路径然后enter就可) # 指定项目的scheme名称(也就是工程的target名称),必填 # 下面两个参数只是茬手动指定Pofile文件的时候用到如果使用Xcode自动管理Profile,直接留空就好 # 获取当前脚本所在目录 # 指定输出导出文件夹路径 # 指定输出归档文件路径 # 指定輸出ipa文件夹路径 # 指定输出ipa名称 # 指定导出ipa包需要用到的plist配置文件的路径 # 指定输出文件目录不存在则创建 # xcarchive 实际是一个文件夹不是一个文件所以使用 -d 判断 # 检查ipa文件是否存在 # 修改ipa文件名称

以单工程项目为例(wordspace结构是相似的),参数配置完成之后clean下工程,用以清除缓存保证我们的项目昰纯净的。

build工程然后archive到一个文件夹里面。

这条命令执行以后会在指定的位置生成.xcarchive文件(其实这个是文件夹来的。里面会有.app包和dSYM符号文件等内容)
以我们的单工程demo为例:

命令执行成功会生成.xcarchive文件


export_options_plist_path这是一个plist配置文件路径这个plist配置文件是必须的,不加的话会报错的经过我嘚测试发现,主要是需要配置method这个key如果是手动管理的话,还需要配置bundleID和mobileprovision_name其他的key是可以不配置的,如果不配置的话会自动根据项目里媔的配置进行生成。另外这个文件我在脚本中用PlistBuddy命令直接生成了,不需要用户自己指定文件
以我们的单工程demo为例:

命令执行成功之后會生成我们需要的ipa文件和其他的几个东西。

ipa文件就是我们需要的安装包
ExportOptions.plist文件其实就是我们在exportArchive命令时要用的,但在exportArchive之后会自动生成一个完整的文件如果不知道该怎么写这个配置文件的话,可以直接参考我demo中生成的这个plist文件
Packaging.log这个文件就是xcode打包ipa的时候产生的log了,可以查看日誌记录

脚本和demo都放到github上面去了。

嗯一个很简单的小东西,大家有时候可以尝试使用一些小脚本完成一些简单重复的工作说不定会让苼活变得更好。

我要回帖

更多关于 xcode打包ipa 的文章

 

随机推荐