友盟推送-Code=3000的错误

最近压力真是好大,好多东西都是第一次做。这几天在搞一个推送的东西,用的友盟。其实官方文档介绍的挺详细的。

ios友盟推送教程

由于我是要修改之前存在的bug,只是扫了扫,并木有整代码。不过第一步获取deviceToken就让我蛋疼不已。在

didFailToRegisterForRemoteNotificationsWithError这个回调中,我见到了这个Code=3000的错误。推送必须真机+证书,证书也是近几天接触的,也不是很理解,这下可好啦,一下子来了这么个复杂的问题,让我几乎崩溃。工作还是要继续的,于是查了各种解决方案,就在刚刚终于给推送成功了。加上最近刚换的工作,诸多不顺,差点没哭出来。

下面是我的问题存在以及解决的方案:

1.只有两张证书,缺少了push证书;

2.这个是最要名的,profile的bundle一定一定不要是*,而且在项目的Bundle Identity 配置中一定要和profile的bundle一致。

这两个解决了就会发现地球又转了起来。


顺便总结下证书方面:

真机调试不是随便一个机器就可以的。你需要告诉乔帮主,要在哪台电脑上在哪台移动设备上为哪个程序做调试。

前提:为应用建立一个APPID,这个后面都要用到;注册Device;

1、结合APPID+CSR(本机KeyChain create 包含了本mac的一些信息)------->生成一个证书,这个是需要本地mac用的,用来说明在这台mac上对这个(APPID)App进行真机调试;

2、APPID+上面步骤中生成的证书+注册的Device------>生成profile文件,这个是随程序安装到移动设备上的,用来说明在这台移动设备(Device)上通过这个Mac运行(1步骤中的证书)的这个App(APPID)才能进行真机运行。

其实我没实际操作过,因为没设备和账号,仅是说明下证书的作用有个大致的了解。

你可能感兴趣的:(ios散笔)