解决XCode8.1 用Ad Hoc打包出现的0xE800801

2016-11-17  本文已影响0人  yqmfly

升级了XCode 8.1,用Ad Hoc 证书打包,出现了0xE8008016。这个问题在XCode7上没出现,在XCode8上出现了。错误提示如下:

The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.(0xE8008016)

改用了Archive方式打包,就没有出现这个问题了。具体操作是

1、Product-》Archive,完成后弹出Organizer界面;

2、在右边选择Export,选择Savefor Ad Hoc Deployment;

3、选择Development Team,过一会选择Device Support;

4、一直点击Next;

5、选择完成后ipa文件存放的文件夹。

虽然我解决了这个问题,但是还是在网上搜索到了这个问题的其他解决方法,列举出来分享给大家。

第一种:用itunes打包

1、先在项目的Target里的General进行设置,把Signing下的Automatically manage singing取消

2、在Signing(Debug)和(Release)里的Provisioning Profile选中已经配置好的证书(Wildcard那种)

3、直接Build项目(⌘b)

4、Build完后在项目文件夹找到Products,看看xxx.app是否变成黑色。

5、打开iTunes,把xxx.app拖入iTunes,会生成一个app,右键那个app的icon,用Finder打开,会看到xxx.ipa的文件,把此xxx.ipa拖入即可。

第二种:检查TeamID

找到变换前后两个账号的teamID,这个可以到ituneconnect里面,或者直接到project.pbxproj查找,出问题的此刻,已经存在两个不同的teamID。查找到切换的ID,把project.pbxproj工程文件中的签名ID全部手动替换成目标ID。DEVELOPMENT_TEAM = XXXX ; XXXX填写新的teamID根据Target数量的不同,可能有好几处,全部替换成统一一个样即可。此问题在Xcode8beta版中已经存在,若有多个包名和账号切换的工程,可作为参考。

第三种:检查Capabilities

检查AppID所设置的功能,一般默认开启了GameCenter,那么就要在Capabilities把GameCenter打开。如果开启了推送,那么就要在Capabilities把Push Notification打开。诸如此类都要打开。

上一篇下一篇

猜你喜欢

热点阅读