EXC_BREAKPOINT 使用 onesignal 时
EXC_BREAKPOINT when using onesignal
我正在尝试使用 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 (code=1, subcode=0x1830f510c)
我的google fu 在搜索该子代码时没有得到任何结果
代码触发了异常断点,这意味着某些代码失败并引发了异常 - 可能在 sendAsynchronousRequest 中,它可能是从 oneSignal 调用的。
线程在 CFRelease 处结束,因此可能发送了一个 Core Foundation 对象以供释放。
鉴于您进入崩溃,这可能与该 Dict 的嵌套结构不符合 Onesignal 规范以及 Onesignal 未正确处理该情况有关。因此,请仔细检查他们的文档以了解该通知字典规范。
此外,您可能希望用变量替换所有这些裸文字,以帮助使其更清晰 - 文字很棒,但如果您将它们的使用限制为没有嵌套的 kv 对,它会容易得多。
HTH
这是我解决这个问题的方法
根据@jkasten 的评论
Make sure you only create one OneSignal instance in your code. Creating multiple can create unexpected errors.
嗯,好的。我把我的 google 搞砸了,遇到了这个
- (AppDelegate *)appDelegate {
return (AppDelegate *)[[UIApplication sharedApplication] delegate];
}
因为我在启动注册时在我的 appdelegate 中有一个信号,所以我决定始终使用这个 oneSignal 实例
我用 [[self appDelegate] oneSignal]
调用 oneSignal
我正在尝试使用 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 (code=1, subcode=0x1830f510c)
我的google fu 在搜索该子代码时没有得到任何结果
代码触发了异常断点,这意味着某些代码失败并引发了异常 - 可能在 sendAsynchronousRequest 中,它可能是从 oneSignal 调用的。
线程在 CFRelease 处结束,因此可能发送了一个 Core Foundation 对象以供释放。
鉴于您进入崩溃,这可能与该 Dict 的嵌套结构不符合 Onesignal 规范以及 Onesignal 未正确处理该情况有关。因此,请仔细检查他们的文档以了解该通知字典规范。
此外,您可能希望用变量替换所有这些裸文字,以帮助使其更清晰 - 文字很棒,但如果您将它们的使用限制为没有嵌套的 kv 对,它会容易得多。
HTH
这是我解决这个问题的方法
根据@jkasten 的评论
Make sure you only create one OneSignal instance in your code. Creating multiple can create unexpected errors.
嗯,好的。我把我的 google 搞砸了,遇到了这个
- (AppDelegate *)appDelegate {
return (AppDelegate *)[[UIApplication sharedApplication] delegate];
}
因为我在启动注册时在我的 appdelegate 中有一个信号,所以我决定始终使用这个 oneSignal 实例
我用 [[self appDelegate] oneSignal]