Xcode 中的设置

证书配置

这部分配置工作需要在developer.apple.com中配置完成,详细配置参考《苹果企业账号打包发布APP流程详解》第一部分《通过企业账号申请证书》即可,剩下的部分在 xcode7中并不相同。

主要步骤包括:

  • 通过电脑的“钥匙串”创建Certificate Signing Request (CSR)文件,并存放到硬盘上。
  • 上传 CSR 文件,请求Certificate证书,类型选择In-House and Ad Hoc。上面的教程说要下载并安装到本地,其实不需要。
  • 添加App ID。要与项目的bundle identifier 一致


    这里选择 Team 的时候有时会报错,解决的方法是不要根据提示点“fix”,直接在 Build Settings->code Signing->Provisioning Profile 中设置对应的 Provisioning Profile。Provisioning Profile的生成在后面会提到。


    这里下拉供选择的对应~/Library/MobileDevice/Provisioning Profiles目录下的文件,如果有很多没用的,可以在最开始清空这个文件夹下的文件。

  • 生成最终的Provisioning Profile,过程中需要选择对应的 AppID,生成的 Type 是iOS UniversalDistribution。和上面一样,生成的.certSigningRequest文件不需要下载和安装,后面在 xCode 中可以设置。

  • 编译前的配置,参考上面的内容,主要就是设置 Bundle identifier 和 provisioning Profile 文件。
  • 打包

    这里与网上 iOS9之前的教程中说的选择 Save for Ad Hoc Deployment 不同,而是要选择 Save for Enterprise Deployment。

  • 最后选择路径会生成一个带项目名和时间的文件夹,里面包含一个.ipa 文件。

无线安装方式

得到上面的.ipa 文件,可以通过 iTunes 连接手机安装。另外一种方式是将这个 ipa 放到服务器上供用户自己下载安装。

  • 首先,供用户下载的地址要是 https 的
  • 另外,还需要手动生成一个.plist 文件,来定义 ipa 包的下载地址,图片等一些信息。具体说明及样例参考《以无线方式安装企业内部应用》

样例说明:
下载地址:https://cbmserv.mewifi.mobi/cbmserv4/iosApps/jule/install.html
对应的 jule 目录下的文件包括:

install.plist

install.html

<html>
<head>
<title>APP download</title>
</head>
<body>
<a href="itms-services://?action=download-manifest&url=https://cbmserv.mewifi.mobi/cbmserv4/iosApps/jule/install.plist?2016041400">download</a>
</body>
</html>

主要是上面的下载安装地址itms-services://?action=download-manifest&url=https://cbmserv.mewifi.mobi/cbmserv4/iosApps/jule/install.plist?2016041400,其中 https 的部分是.plist 在服务器上存放的路径,后面的参数,因为之前碰到过“无法下载应用”的报错,参考这里,为了避免缓存 plist 文件而加的,但实际上报这个错的原因有很多,参考《iOS应用安装失败原因排查》

install.ipa
就是上面xcode 中导出的jule.ipa,需要的话可以改名。

遇到的问题

  • xcode 配置 team 时的报错。

    • 把对应的 APPID 删掉再重新登录一次
    • 下载所有provisioning Profile。
    • 不要试图从developer.apple.com上下载后双击安装;也不要根据 xcode 提示的自动 fix。而是要在Build Settings->code Signing->Provisioning Profile中自行设置(前面已经提到过,参考图2)
  • 安装的时候提示“无法下载应用”。
    这个报错的原因可能有很多种。包括.plist 中那两个图片的地址如果不对的话,也会报这个错。定位的方法可以参考这里,使用 OS X 下的Log Guru工具来看运行时日志。

2016-04-14 19:2915