1、安装证书

develop:调试证书,包含调试信息 安装时需要证书已加入设备UDID或是越狱设备才能安装。

distribution:正式证书,发布到appstore所用,屏蔽了调试信息,要想测试安装时需要证书已加入设备UDID或是越狱设备才能安装。

ad-hoc:测试证书,非越狱机且没有添加入测试设备中,又想测试app,就要通过artive->adhoc,编译打包app,将app.ipa拖入itunes,安装,就可以测试了,任何机器都可以。

二、命令行编译打包

 1、clean清理工程,如果清理成功证明xcode安装基本正常,如果有错误可能是未安装xcode,安装xcode也很简单在appstore中所有xcode选一个版本安装即可。

cd /Users/rongshenglai/GoTianAnMen_iOS/GoTheTianAnMenSquare_2.0 # 进入目录(有.xcodeproj的这个目录)
xcodebuild clean # 清理工程

2、查看所有目标(target)

xcodebuild -list

  

IOS使用命令行打包_xcode

  显示target、scheme、和configuration,记下来之后使用。

3、构建

xcodebuild -archivePath "./buildserver/BuildDemo.xcarchive" -sdk iphoneos -target GO天安门 -scheme GO天安门 -configuration "Debug" archive

  显示构建成功,就会在你的当前路径多出一个 buildserver的目录,构建的文件就放在里边。

  其中的 target、scheme、configuration就是上边查到的内容。

  构建的时候需要输入两次用户名,输入即可。

IOS使用命令行打包_.net_02

4、打包和导出

xcodebuild -exportArchive -archivePath ./buildserver/BuildDemo.xcarchive -exportPath ./buildserver/BuildDemo.ipa -exportOptionsPlist "./GoTheTianAnMenSquare copy-Info.plist"

  其中:plist文件根据你的配置需要修改,archive路径也是根据你之前构建目录修改,ipa目录随你指定。

  看到如下图打包成功。

 

IOS使用命令行打包_xcode_03

三、安装

1、利用“爱思苹果助手”iFunBox 安装

  导出 ipa 包后不能直接安装,可以利用 iFunBox 之类的软件直接安装到对应的 iPhone

  ifunbox_爱思苹果助手,网址 https://www.i4.cn/pro_ios.html

  安装完成爱思苹果助手后,在ipa文件上单击右键选择“使用爱思苹果助手安装”,选择一个iphone设备后即可安装。

IOS使用命令行打包_.net_04

注意:如果提示安装包校验失败或手机未越狱,有可能是你的iphon的UUID没有添加到开发者账号上。将你的设备增加到开发者账号中然后重新打包导出ad-hoc后使用爱思苹果助手再次安装即可

  UUID有没有添加可以参考下图查找。

IOS使用命令行打包_hive_05

 

2、利用 items-service 协议安装

  itms-service是apple为iOS企业用户提供的无线分发安装方案,使用这种方式发布应用不需要通过App Store,任何iOS设备都可以安装。企业用户通过这种方式发布的应用而没有设备数目的限制。(个人用户和公司用户也可以使用这种方式通过网页发布应用,但只有设备的UDID被包含在对应帐户的Device ID中的设备才可以安装,而Device ID对数目是有限制的)。

  可以从safari浏览器直接打开如下所示的itms-services协议的链接,可以在iOS设备上直接安装链接所指向的应用,itms-services://?action=download-manifest&url=http://192.168.1.27:8082/un/yi.plist。

 四、问题

直接在mac电脑上使用命令打包导出ipa包一切正常,当使用ssh命令远程连接到mac电脑上打包就报如下错误。

IOS使用命令行打包_xcode_06

原因是钥匙串被锁定,在打包前先执行如下命令解锁keychain。其中-p是当前用户的密码。

security unlock-keychain -p 123

如果设置后还是如上错误也有可能是没有允许xcode访问钥匙串。解决方法是在mac电脑上打包看到如下提示后,输入用户密码后点击“始终允许”后再次打包即可。

IOS使用命令行打包_.net_07

 

  

​https://help.apple.com/xcode/mac/current/#/dev7ccaf4d3c​