Code=3000 “未找到应用程序的“aps-environment”的权利字符串“ 解决办法

push,即远程通知,教材的资料较少,想实践的话,只能每年花99美元买苹果开发者帐号才能玩这个,所以国内资料较少~。

搞了一天证书问题~基本弄明白了。

push ,develop需要三个验证:

  1. 应用程序服务器的证书,用于连接APNs
  2. 苹果机上装的证书,用于向iphone安装程序
  3. iphone上装的配置文件

code=3000是由于iphone上的配置文件的app identity是带通配符的那种,导致能装上但拿不到token
打开https://developer.apple.com/ios/manage/bundles/index.action

第零步

用来调试的iphone插电脑,xCode里command+control+O打开organizer,把这台iphone用做开发机。此过程会将手机信息上传给苹果,所以需要一两分钟,骚等片刻。

第一步

如果你的App ID已经正确建立,跳过此步。需注意的是,可push的程序ID不允许带通配符!App ID中 带通配符的请自觉一点。

  1. 进入App IDs,点击New App ID,新建一个App。
    Desciption填注释性的文字,例如PushTest。
  2. bundle seed ID相同的话,可以用带通配符的配置文件。可以Push的应用程序不允许带通配符。这里我们选择生成新的还是使用已有的都无所谓。
  3. Bundle identifier作为程序的唯一标识。建议用反向域名样式的字符串,比如com.alibaba.pushtestdemo
    填好以后submit。

第二步

  1. 在provisioning中,点击New Profile,Profile Name起注释性的名字,我起的是OpenThreadPushTest。
  2. Certificates勾选你向iphone安装程序时,电脑上装的证书。一般用户这里都是只有一个certificate可选,勾选之。
  3. App ID选第一步建立的App。
  4. Devices中为了方便直接点Select All,然后点Submit。
  5. 提交之后下载配置文件,这个配置文件要安装在手机的,下载后名字为OpenThreadPushTest.mobileprovision。
  6. 手机连上电脑,把这个mobileprovision安装到手机上。

第三步

  1. 打开项目的Targets>AppName>Properties>Identifier
    改为com.alibaba.pushtestdemo
  2. Build>Code Signing>Code Signing Identity
    左边Any iOS,右边选择第4步中安装的配置文件(OpenThreadPushTest)。这个配置文件不能是带通配符的其他的配置文件,否则会导致"error code 3000,未找到应用程序的权利字符串"。

你可能感兴趣的:(iOS)