关于解iOS Xcode 9.2项目打包问题

以前的项目打包,你最多见的是这样的界面


关于解iOS Xcode 9.2项目打包问题_第1张图片
图1

现在Xcode 已进入9系列,打包界面变得简单明了.但是有些是之前没遇到过的问题,比如:app thinning(app 瘦身),能分别打成好多机型的测试包,线上包等等,还有遇到一个奇葩的Profile doesn't include the beta-reports-active entitlement.这样的

至于thinning,百度一下即可了解.

Profile doesn't include the beta-reports-active entitlement.这个,本篇提供一种解决方案,

出现这样情况原因:1.证书不匹配(线上和本地)。2.Xcode。右侧Target下的Capabilities栏目下,查看Push Notifications和In-App Purchase 两个的开关是否打开(若未打开,打开即可,然后Xcode退出,再次进入,再次尝试打包,就不会报错了.

通过查找发现Xcode里面的两项必须打开的权限,不知道为什么关闭了,重新打开后,问题解决。

配图如下:


关于解iOS Xcode 9.2项目打包问题_第2张图片
图2


上面解决,继续看下面的一些关于生成ipa包的窗口四个选项的相关说明:

1. Save for iOS App Store Deployment 

    保存到本地 准备上传App Store 或者在越狱的iOS设备上使用

2. Save for Ad Hoc Deployment 

    苹果的官方解释是:To distribute your app to users with designated devices, select “Save for Ad Hoc Deployment.” The app will be code signed with the distribution certificate.(保存到本地 准备在账号添加的可使用设备上使用(具体为在开发者账户下添加可用设备的udid),该app包是发布证书编译的)

3. Save for Enterprise Deployment 生成企业包

这种主要针对企业级账户下 准备本地服务器分发的app,也可直接发给你的客户或测试人员安装,无需在帐号中添加设备的udid。注意:此证书为299$的企业证书

4. Save for Development Deployment

苹果的官方解释是:To distribute your app for internal testing, select “Save for Development Deployment.” The app will be code signed with your development certificate. (针对内部测试使用,主要给开发者的设备(具体也为在开发者账户下添加可用设备的udid)。该app包是开发证书编译的)

至于Save for Ad Hoc Deployment和Save for Development Deployment两个选项的区别,官方给出的解释是证书的区别,但是对于我们来说,还不是特别清楚具体的用处。其实最早当我们选择Save for Ad Hoc Deployment来生成ipa包的时候,我们是可以选择开发证书的,但是现在,它需要我们使用发布证书。我们最早在做程序真机测试的时候,大部分时候是用的开发证书,并没有发布证书,所有我认为,Save for Development Deployment是我们前期用开发证书,给测试人员发包测试的时候使用的,而到程序开发的后期,我们为了发布,生成了发布证书,此时,我们给client或者tester的时候,应该选择Save for Ad Hoc Deployment,使用发布证书打包, 而官方对Ad Hoc的解释是:Ad Hoc模式的包,和将来发布到App Store的包在各种功能测试上是一样的,只要Ad Hoc模式下测试(推送,内购等)没有问题,发布到App  Store也是没有问题的。

你可能感兴趣的:(关于解iOS Xcode 9.2项目打包问题)