我试图使用onesignal将推送通知从一个用户发送到另一个用户。他们的文档使用起来非常简单,所以我不确定我的问题是否存在于我做错的事情。以下是我用于从testDevice1
向testDevice2
发送通知的代码,其中af59f188-583b-blah-blah-player_ID
是我的testDevice2
playerID
- (IBAction)save:(UIBarButtonItem *)sender {
NSDictionary *dict = @{@"contents" : @{@"en": @"New Task!"},
@"include_player_ids": @[@"af59f188-583b-blah-blah-player_ID"]
};
[oneSignal postNotification:dict];
}
这是我得到http://i.imgur.com/h9YCR8v.jpg
的错误EXC_BREAKPOINT(代码= 1,子代码= 0x1830f510c)
我的google fu在搜索该子代码时没什么好处
答案 0 :(得分:0)
代码触发了一个异常断点,这意味着一些代码失败并引发了异常 - 可能是在sendAsynchronousRequest中,可能是从oneSignal调用的。
线程以CFRelease结束,因此可能是Core Foundation对象被发送以供发布。
鉴于你进入崩溃,它可能与该Dict的嵌套结构有关,而不是Onesignal规范,而Onesignal没有适当地处理这种情况。因此请仔细检查他们的通知dict规范的文档。
此外,您可能希望用变量替换所有这些裸文字以帮助使其更易读 - 文字很好,但如果将它们的使用限制为没有嵌套的kv对则会更容易。
HTH
答案 1 :(得分:0)
根据@ jkasten的评论
嗯,好的。我淘汰了我的谷歌,并遇到了这个确保您只在代码中创建一个OneSignal实例。创建多个可能会产生意外错误。
- (AppDelegate *)appDelegate {
return (AppDelegate *)[[UIApplication sharedApplication] delegate];
}
因为当我启动注册时,我的appdelegate中有信号,我决定总是使用oneSignal的这个实例
我用[[self appDelegate] oneSignal]