Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为解析iOS应用程序启用推送通知--设置时遇到问题_Ios_Parsing_Push Notification_Xcode5 - Fatal编程技术网

为解析iOS应用程序启用推送通知--设置时遇到问题

为解析iOS应用程序启用推送通知--设置时遇到问题,ios,parsing,push-notification,xcode5,Ios,Parsing,Push Notification,Xcode5,现在,我已经两次遵循了关于如何设置此项的说明,但它不起作用 在我的Apple开发者帐户中,在标识符下,我修改了应用程序ID以使用“推送通知” 我按照说明创建了SSL证书,并将其安装到Macbook密钥链中 我从macbook密钥链(没有密码)导出SSL证书,并将其导入Parse中的“推送通知”设置页面 我在解析注册密钥后的didfishlaunchingwithoptions方法中将此代码添加到appdelegate.m 我根本不知道什么不起作用 我的配置文件工作得很好,我已经在应用程序上工作

现在,我已经两次遵循了关于如何设置此项的说明,但它不起作用

  • 在我的Apple开发者帐户中,在标识符下,我修改了应用程序ID以使用“推送通知”
  • 我按照说明创建了SSL证书,并将其安装到Macbook密钥链中
  • 我从macbook密钥链(没有密码)导出SSL证书,并将其导入Parse中的“推送通知”设置页面
  • 我在解析注册密钥后的
    didfishlaunchingwithoptions
    方法中将此代码添加到
    appdelegate.m

    我根本不知道什么不起作用

    我的配置文件工作得很好,我已经在应用程序上工作了几个月了(本地开发和TestFlight测试)

    我不确定解析教程是否过时了?也许现在的做法有所不同? 有人能提供一些见解吗


    非常感谢

    在设置设备令牌之前,您必须设置应用程序ID和客户端密钥:

    [Parse setApplicationId:PARSE_APP_ID
                  clientKey:PARSE_CLIENT_KEY];
    

    我必须在真实设备上运行,而不是在iOS模拟器上运行。

    您是否在Parse.com数据浏览器中看到安装对象?你是在真正的设备上运行的吗?别忘了你必须重做配置文件,让它们“获取”关于推送证书的新信息(要想让人明白这一点是非常困难的,呵呵!)解析教程是完美的、最新的,而且工作非常完美。(这与此没有什么不同,你知道,当你碰巧添加一个设备时,你必须重做证书/配置文件——呃,不管是哪一个:)。PS。别忘了。(一旦你开始工作)在你以PFUser的身份完全登录用户之前,没有注册Push有很多话要说。这样做是无害的,但会导致仪表板上的安装中出现无意义的空条目。注意这个微妙的讨论@洛根,就是这样。我在iOS模拟器上运行,但当我切换到在我的设备上运行它时…它就工作了。非常感谢你!是的,但无论如何,除非他先这么做,否则什么都不会起作用。我猜OP被恼人的“你必须‘再次’重做’你所有的证书/个人资料”gotchya抓住了。。。。
     - (void)application:(UIApplication *)application
      didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
    {
      // Store the deviceToken in the current installation and save it to Parse.
      PFInstallation *currentInstallation = [PFInstallation currentInstallation];
      [currentInstallation setDeviceTokenFromData:deviceToken];
      [currentInstallation saveInBackground];
    }
    
    - (void)application:(UIApplication *)application
      didReceiveRemoteNotification:(NSDictionary *)userInfo {
      [PFPush handlePush:userInfo];
    }
    
    [Parse setApplicationId:PARSE_APP_ID
                  clientKey:PARSE_CLIENT_KEY];