我已在AppDelegate.m
文件中为我的phonegap应用启用了推送通知。我正在使用的代码行来自视频教程,因为我真的不知道OBJ-C,它给了我一个格式字符串问题。这是代码和错误。
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
NSString *deviceTokenString = [NSString stringWithFormat:@"%@", deviceToken];
NSLog(deviceTokenString);}
格式不是字符串文字(有潜在危险)
了解Javascript,我有点理解字符串字面意思,但我不知道如何解决它。有什么想法吗?
答案 0 :(得分:3)
如果错误出现在NSLog
行上,那么我认为它指的是格式字符串 - NSLog
的第一个参数,它告诉它您想要输出的字符串(可能带有替换标记) - 是一个变量,而不是字符串文字。您可以尝试:
NSLog(@"%@", deviceToken);
或者如果您在其他地方使用deviceTokenString
并希望保留该变量,则可以执行以下操作:
NSLog(@"%@", deviceTokenString);
答案 1 :(得分:1)
如果您想要查看设备令牌已注册,那么您真正需要的是:
NSLog(@"My token is: %@", deviceToken);
这将为您提供设备令牌信息。删除字符串文字,因为您正在将字符串转换为字符串。没有必要这样做。