如您所知,我将签名调试配置文件设置为Adhoc配置文件。
如果我将我的应用程序运行到iPhone,那么我可以使用我的iPhone接收我的后台远程推送通知。(我的后台使用的是分发配置文件,所以我必须使用adhoc或发行版配置文件)。
但每次我将应用程序(使用Adhoc配置文件)运行到我的iPhone时,它都将取消连接:
无法启动"项目名称"
进程启动失败:无法获取进程xxx的任务
所以,我无法在我的Xcode中使用真实设备调试我的应用程序(使用Adhoc配置文件),有没有办法做到这一点?
我的要求是转到特殊的vc
,didFinishLaunchingWithOptions
方法中的代码如下:
// If application is launched due to notification,present another view controller.
UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if (notification)
{
[SVProgressHUD showSuccessWithStatus:[NSString stringWithFormat:@"success"]];
PushDetailViewController *detail_push = [[PushDetailViewController alloc] init];
detail_push.isPresentCome = YES;
PushModel *new_model = [PushModel initPushModelWithDic:notification.userInfo];
if (new_model) {
detail_push.pushModel = new_model;
[self.window.rootViewController presentViewController:detail_push animated:NO completion:nil];
}
}else {
//LMLSystemAlertControllerShowSingelButtonWithMessageWL(@"没有notification 信息", @"确定");
}
return YES;
而且我不知道notification.userInfo
是什么,所以我想调试它,如果我使用SVProgressHUD
提醒信息,我的应用程序将崩溃,因为我的iPhone是与Xcode无关,我无法获得错误信息。
所以,有一些问题:
答案 0 :(得分:1)
用于调试UserInfo: 将NSLOG用于打印UserInfo并检查值是否正确。我知道您无法在Xcode控制台中检查NSLOG,但您可以在Xcode中检查设备中的NSLOG选项。 Xcode - >窗口 - >设备 - >在左侧面板中选择您的设备。在这里,您可以看到所有日志。
根据UserInfo详细信息,您可以验证您的代码是否正确。
答案 1 :(得分:1)
要在Adhoc构建模式下调试推送通知有效负载,您只需将UIAlertView
放在所需的位置即可。并且可以在iPhone屏幕上看到输出。 :)
例如,在您的情况下。
NSDictionary *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if (notification)
{
NSDictionary *apsInfo = [notification objectForKey:@"aps"];
// Put AlertView here
UIAlertView *alert =[[UIAlertView alloc]
initWithTitle:@"NotificationPayload"
message:[NSString stringWithFormat:@"%@",apsInfo]
delegate:self
cancelButtonTitle:@"Ok"
otherButtonTitles: nil];
[alert show];
[SVProgressHUD showSuccessWithStatus:[NSString stringWithFormat:@"success"]];
PushDetailViewController *detail_push = [[PushDetailViewController alloc] init];
detail_push.isPresentCome = YES;
PushModel *new_model = [PushModel initPushModelWithDic:apsInfo];
if (new_model) {
detail_push.pushModel = new_model;
[self.window.rootViewController presentViewController:detail_push animated:NO completion:nil];
}
}
else {
//LMLSystemAlertControllerShowSingelButtonWithMessageWL(@"没有notification 信息", @"确定");
}
return YES;
完成调试后,请不要忘记评论或删除此AlertView代码。
答案 2 :(得分:0)