起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3576|回复: 7

[分享] IOS10 XCode9以上 极光推送获取不到 RegistrationID解决方案

[复制链接]

22

主题

93

帖子

520

积分

高级会员

Rank: 4

积分
520
QQ
发表于 2018-6-27 11:58:40 | 显示全部楼层 |阅读模式
由于IOS升级到10, Xcode升级到9以后,除了证书要开启 Notifications外,Xcode9也要开启一次通知,否则获取不到 RegistrationID。


Xcode9开启通知

Xcode9开启通知


如图 -- Xcode9以上要开启 Notification通知


我找到解决方案了,可以直接在Wex5里面设置,就可以打包了,不用再通过Xcode反复打包。
-------------- 方案如下:--------------
wex5里面的project.pbxproj 是通过模板生成的,只要把参数的配置添加进模板就可以了。
我的做法如下:
1. 搜索 “Begin PBXProject section”,会在模板里找到
    找到文件, Native/template/advanced/platforms/ios/X5/xcodeproj/"project.pbxproj"
2. 在223行找到 “LastUpgradeCheck = 510;”,修改为如下内容就可以了。
                      attributes = {
                                LastUpgradeCheck = 510;
                                TargetAttributes = {
                                        1D6058900D05DD3D006BFB54 = {
                                                DevelopmentTeam = JH5T8KHM5K;
                                                SystemCapabilities = {
                                                        com.apple.InAppPurchase = {
                                                                enabled = 1;
                                                        };
                                                        com.apple.Push = {
                                                                enabled = 1;
                                                        };
                                                };
                                        };
                                };
                        };

3. 编译IOS时模板会自动把这部分参数带进入编译 ipa.



评分

参与人数 1威望 +10 收起 理由
liangyongfei + 10

查看全部评分

34

主题

157

帖子

621

积分

高级会员

Rank: 4

积分
621
QQ
发表于 2018-7-7 01:03:01 | 显示全部楼层
你好,是改成这样的, TIM截图20180707010154.png 然后重新打包就好了吗
QQ1446856958
回复 支持 反对

使用道具 举报

22

主题

93

帖子

520

积分

高级会员

Rank: 4

积分
520
QQ
 楼主| 发表于 2018-7-8 14:18:25 | 显示全部楼层
小格子 发表于 2018-7-7 01:03
你好,是改成这样的,然后重新打包就好了吗

是的,就可以直接打包,发送消息成功的
回复 支持 反对

使用道具 举报

34

主题

157

帖子

621

积分

高级会员

Rank: 4

积分
621
QQ
发表于 2018-7-8 17:45:51 | 显示全部楼层
本帖最后由 小格子 于 2018-7-8 18:24 编辑
soibhan 发表于 2018-7-8 14:18
是的,就可以直接打包,发送消息成功的

你好,非常感谢,但是我这里是改了还是没起作用,还是获取不到RegistrationID,我看这个段代码是打进ipa里面了,导出源码之后,我在xcode里真机调试倒是能识别到RegistrationID,但是我不会用xcode打包。

这个代码改了是能直接打包还需要其他修改吗?你有没有遇到过这种修改过后还是不能识别RegistrationID的情况吗
我是在虚拟机的mac里的开发工具里直接打包的
QQ1446856958
回复 支持 反对

使用道具 举报

34

主题

157

帖子

621

积分

高级会员

Rank: 4

积分
621
QQ
发表于 2018-7-9 01:17:32 | 显示全部楼层
本帖最后由 小格子 于 2018-7-9 01:19 编辑
soibhan 发表于 2018-7-8 14:18
是的,就可以直接打包,发送消息成功的

我用导出来的源码,用xcode打包了一个测试app,也获取不到RegistrationID;
这个是证书问题吗??没有任何代码,只是加了个按钮,事件绑定的是获取RegistrationID;


        Model.prototype.button1Click = function(event) {
               
                alert(1)
                jpushInstance.getRegistrationID().done(function(id) {
                        alert(id)
                });
        };

但是为什么xcode的真机调试可以获取到呢,,,这个问题困扰了我很久了,请求帮助~~~~
QQ1446856958
回复 支持 反对

使用道具 举报

22

主题

93

帖子

520

积分

高级会员

Rank: 4

积分
520
QQ
 楼主| 发表于 2018-7-9 08:35:28 | 显示全部楼层
小格子 发表于 2018-7-9 01:17
我用导出来的源码,用xcode打包了一个测试app,也获取不到RegistrationID;
这个是证书问题吗??没有任何 ...

模拟器我倒是没测试过,可能和加载时间有关系,真机加载的快。
而且获取 rid是有时候半天都获取不到,因此我自己在检查获取 rid时做了一个 timer来不断循环检查是否获取,获取了就关闭timer.
回复 支持 反对

使用道具 举报

34

主题

157

帖子

621

积分

高级会员

Rank: 4

积分
621
QQ
发表于 2018-7-9 09:38:57 | 显示全部楼层
soibhan 发表于 2018-7-9 08:35
模拟器我倒是没测试过,可能和加载时间有关系,真机加载的快。
而且获取 rid是有时候半天都获取不到,因 ...

嗯,谢谢。我的也是用真机调试的,可还是获取不到rid,非常郁闷,wex5导出的源码,在xcode中开启了push,再xcode中打包的也识别不了, 我在极光上找找原因
非常感谢
QQ1446856958
回复 支持 反对

使用道具 举报

249

主题

695

帖子

1715

积分

金牌会员

Rank: 6Rank: 6

积分
1715
QQ
发表于 2018-12-10 10:12:33 | 显示全部楼层
SystemCapabilities = {
   com.apple.Push = {
    enabled = 1;
                  };
           };只有这个不可以吗,我看com.apple.InAppPurchase是关于支付的,没有支付不用开启这个吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-23 06:27 , Processed in 0.056379 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表