Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.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 C2Call推送通知_Ios_Ios7_Apple Push Notifications - Fatal编程技术网

Ios C2Call推送通知

Ios C2Call推送通知,ios,ios7,apple-push-notifications,Ios,Ios7,Apple Push Notifications,你能帮我检查一下在配置过程中是否遗漏了什么,因为一旦应用程序被终止,我就无法收到通知。如果应用程序只是最小化,则会显示呼叫通知,但对于即时消息,手机只会发出砰砰声,而不会显示通知。 使用C2Call如何在AppDelegate子类中调用下面的方法 [super application:didRegisterForRemoteNotificationsWithDeviceToken]; - (void)application:(UIApplication *)application did

你能帮我检查一下在配置过程中是否遗漏了什么,因为一旦应用程序被终止,我就无法收到通知。如果应用程序只是最小化,则会显示呼叫通知,但对于即时消息,手机只会发出砰砰声,而不会显示通知。 使用C2Call如何在AppDelegate子类中调用下面的方法

[super application:didRegisterForRemoteNotificationsWithDeviceToken]; 



- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken {
    //[self registerDeviceToken:devToken];
    // Get Bundle Info for Remote Registration (handy if you have more than one app)
    NSString *appName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];
    NSString *appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];

    // Check what Notifications the user has turned on.  We registered for all three, but they may have manually disabled some or all of them.
    //

    NSUInteger rntypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];


    // Set the defaults to disabled unless we find otherwise...

    NSString *pushBadge = @"disabled";
    NSString *pushAlert = @"disabled";
    NSString *pushSound = @"disabled";

    if(rntypes == UIRemoteNotificationTypeBadge){
        pushBadge = @"enabled";
    }
    else if(rntypes == UIRemoteNotificationTypeAlert){
        pushAlert = @"enabled";
    }
    else if(rntypes == UIRemoteNotificationTypeSound){
        pushSound = @"enabled";
    }
    else if(rntypes == ( UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert)){         pushBadge = @"enabled";
        pushAlert = @"enabled";
    }
    else if(rntypes == ( UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)){         pushBadge = @"enabled";
        pushSound = @"enabled";
    }
    else if(rntypes == ( UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)){         pushAlert = @"enabled";
        pushSound = @"enabled";
    }
    else if(rntypes == ( UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)){
        pushBadge = @"enabled";
        pushAlert = @"enabled";
        pushSound = @"enabled";
    }

    // Get the users Device Model, Display Name, Unique ID, Token & Version Number
    UIDevice *dev = [UIDevice currentDevice];
    // NSString *deviceUuid=dev.uniqueIdentifier;
    NSString *deviceUuid = [[dev identifierForVendor] UUIDString];
    NSString *deviceName = dev.name;
    NSString *deviceModel = dev.model;
    NSString *deviceSystemVersion = dev.systemVersion;

    //Prepare the Device Token for Registration (remove spaces and < >)
    NSString *deviceToken = [[[[devToken description] stringByReplacingOccurrencesOfString:@"<"withString:@""]                               stringByReplacingOccurrencesOfString:@">" withString:@""] stringByReplacingOccurrencesOfString: @" " withString: @""];
    NSString *urlString = [@"/pushservice/apns/user/register"stringByAppendingString:@"r=user/register"];
     NSLog(@"devicetoken length: %i", [deviceToken length]);
    urlString = [urlString stringByAppendingString:@"&appname="];
    urlString = [urlString stringByAppendingString:appName];
    urlString = [urlString stringByAppendingString:@"&appversion="];
    urlString = [urlString stringByAppendingString:appVersion];
    urlString = [urlString stringByAppendingString:@"&deviceuid="];
    urlString = [urlString stringByAppendingString:deviceUuid];
    urlString = [urlString stringByAppendingString:@"&devicetoken="];
    urlString = [urlString stringByAppendingString:deviceToken];
    urlString = [urlString stringByAppendingString:@"&devicename="];
    urlString = [urlString stringByAppendingString:deviceName];
    urlString = [urlString stringByAppendingString:@"&devicemodel="];
    urlString = [urlString stringByAppendingString:deviceModel];
    urlString = [urlString stringByAppendingString:@"&deviceversion="];
    urlString = [urlString stringByAppendingString:deviceSystemVersion];
    urlString = [urlString stringByAppendingString:@"&pushbadge="];
    urlString = [urlString stringByAppendingString:pushBadge];
    urlString = [urlString stringByAppendingString:@"&pushalert="];
    urlString = [urlString stringByAppendingString:pushAlert];
    urlString = [urlString stringByAppendingString:@"&pushsound="];
    urlString = [urlString stringByAppendingString:pushSound];

    NSUserDefaults *def=[NSUserDefaults standardUserDefaults];
    [def setObject:deviceToken forKey:@"token"];
    [def synchronize];
   //[super application:didRegisterForRemoteNotificationsWithDeviceToken];

}
[超级应用程序:DidRegisterForRemotionTificationsWithDeviceToken];
-(无效)应用程序:(UIApplication*)应用程序DIDregisterForRemotionTificationswithDeviceToken:(NSData*)devToken{
//[自注册设备登录:devToken];
//获取用于远程注册的捆绑包信息(如果您有多个应用程序,则很方便)
NSString*appName=[[[NSBundle mainBundle]信息字典]objectForKey:@“CbundleDisplayName”];
NSString*appVersion=[[NSBundle mainBundle]infoDictionary]objectForKey:@“CbundLeverVersion”];
//检查用户已打开的通知。我们已注册了所有三个通知,但他们可能已手动禁用其中的部分或全部通知。
//
NSUTEGER rntypes=[[UIApplication sharedApplication]enabledRemoteNotificationTypes];
//设置默认为禁用,除非我们发现其他。。。
NSString*pushBadge=@“已禁用”;
NSString*pushAlert=@“已禁用”;
NSString*pushSound=@“已禁用”;
如果(rntypes==UIRemoteNotificationTypeBadge){
pushBadge=@“已启用”;
}
else if(rntypes==UIRemoteNotificationTypeAlert){
pushAlert=@“已启用”;
}
else if(rntypes==UIRemoteNotificationTypeSound){
pushSound=@“已启用”;
}
如果(rntypes==(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert)){pushBadge=@“已启用”;
pushAlert=@“已启用”;
}
如果(rntypes==(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)){pushBadge=@“已启用”;
pushSound=@“已启用”;
}
如果(rntypes==(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)){pushAlert=@“已启用”;
pushSound=@“已启用”;
}
else if(rntypes==(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)){
pushBadge=@“已启用”;
pushAlert=@“已启用”;
pushSound=@“已启用”;
}
//获取用户设备型号、显示名称、唯一ID、令牌和版本号
UIDevice*dev=[UIDevice currentDevice];
//NSString*deviceUuid=dev.uniqueIdentifier;
NSString*deviceUuid=[[dev identifierForVendor]UUIString];
NSString*deviceName=dev.name;
NSString*deviceModel=dev.model;
NSString*deviceSystemVersion=dev.systemVersion;
//准备要注册的设备令牌(删除空格和<>)
NSString*deviceToken=[[[[devToken description]StringByReplacingOccurrencessOfString:@”“with String:@”“]stringByReplacingOccurrencesOfString:@”“with String:@”“];
NSString*urlString=[@”/pushservice/apns/user/register“stringByAppendingString:@“r=user/register”];
NSLog(@“devicetoken长度:%i”,[devicetoken长度];
urlString=[urlString stringByAppendingString:@“&appname=“”;
urlString=[urlString stringByAppendingString:appName];
urlString=[urlString stringByAppendingString:@“&appversion=“”;
urlString=[urlString stringByAppendingString:appVersion];
urlString=[urlString stringByAppendingString:@“&deviceuid=“”;
urlString=[urlString stringByAppendingString:deviceUuid];
urlString=[urlString stringByAppendingString:@“&devicetoken=“”;
urlString=[urlstringstringbyappendingstring:deviceToken];
urlString=[urlString stringByAppendingString:@“&devicename=“”;
urlString=[urlString stringByAppendingString:deviceName];
urlString=[urlString stringByAppendingString:@“&devicemodel=“”;
urlString=[urlString stringByAppendingString:deviceModel];
urlString=[urlString stringByAppendingString:@“&deviceversion=“”;
urlString=[urlString stringByAppendingString:deviceSystemVersion];
urlString=[urlString stringByAppendingString:@“&pushbadge=“”;
urlString=[urlString stringByAppendingString:pushBadge];
urlString=[urlString stringByAppendingString:@“&pushalert=“”;
urlString=[urlString stringByAppendingString:pushAlert];
urlString=[urlString stringByAppendingString:@“&pushsound=“”;
urlString=[urlstringstringbyappendingstring:pushSound];
NSUserDefaults*def=[NSUserDefaults standardUserDefaults];
[def setObject:deviceToken forKey:@“令牌”];
[def同步];
//[超级应用程序:DidRegisterForRemotonificationsWithDeviceToken];
}
-(无效)应用程序:(UIApplication*)应用程序didRegisterForRemotonificationswithDeviceToken:(NSData*)devToken{
[超级应用程序:DidRegisterForRemotonificationsWithDeviceToken];
//[自注册设备登录:devToken];
//获取用于远程注册的捆绑包信息(如果您有多个应用程序,则很方便)
NSString*appName=[[[NSBundle mainBundle]信息字典]objectForKey:@“CbundleDisplayName”];
NSString*appVersion=[[NSBundle mainBundle]infoDictionary]objectForKey:@“CbundLeverVersion”];
//检查用户已打开的通知。我们已注册了所有三个通知,但他们可能已手动禁用其中的部分或全部通知。
//
NSUTEGER rntypes=[[UIApplication sharedApplication]enabledRemoteNotificationTypes];
//设置默认为禁用,除非我们发现其他。。。
NSString*pushBadge=@“已禁用”;
NSString*pushAlert=@“已禁用”;
NSString*pushSound=@“已禁用”;
如果(rntypes==UIRemoteNotificationTypeBadge){
pushBadge=@“已启用”;
}
else if(rntypes==UIRemoteNotificationTypeAlert){
pushAlert=@“已启用”;
}
else if(rntypes==UIRemoteNotificationTypeSound){
pushSound=@“已启用”;
}
如果(rntypes==(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert)){pushBadge=@“已启用”;
pushAlert=@“已启用”;
}
如果(rntypes==(U
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken {

    [super application:didRegisterForRemoteNotificationsWithDeviceToken];

   //[self registerDeviceToken:devToken];

  // Get Bundle Info for Remote Registration (handy if you have more than one app)

  NSString *appName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];

  NSString *appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];

  // Check what Notifications the user has turned on.  We registered for all three, but they may have manually disabled some or all of them.
//

  NSUInteger rntypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];


  // Set the defaults to disabled unless we find otherwise...

  NSString *pushBadge = @"disabled";
NSString *pushAlert = @"disabled";
NSString *pushSound = @"disabled";

if(rntypes == UIRemoteNotificationTypeBadge){
    pushBadge = @"enabled";
}
else if(rntypes == UIRemoteNotificationTypeAlert){
    pushAlert = @"enabled";
}
else if(rntypes == UIRemoteNotificationTypeSound){
    pushSound = @"enabled";
}
else if(rntypes == ( UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert)){         pushBadge = @"enabled";
    pushAlert = @"enabled";
}
else if(rntypes == ( UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)){         pushBadge = @"enabled";
    pushSound = @"enabled";
}
else if(rntypes == ( UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)){         pushAlert = @"enabled";
    pushSound = @"enabled";
}
else if(rntypes == ( UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)){
    pushBadge = @"enabled";
    pushAlert = @"enabled";
    pushSound = @"enabled";
}

// Get the users Device Model, Display Name, Unique ID, Token & Version Number
UIDevice *dev = [UIDevice currentDevice];
// NSString *deviceUuid=dev.uniqueIdentifier;

NSString *deviceUuid = [[dev identifierForVendor] UUIDString];

NSString *deviceName = dev.name;

NSString *deviceModel = dev.model;

NSString *deviceSystemVersion = dev.systemVersion;

//Prepare the Device Token for Registration (remove spaces and < >)

NSString *deviceToken = [[[[devToken description] stringByReplacingOccurrencesOfString:@"<"withString:@""]                               stringByReplacingOccurrencesOfString:@">" withString:@""] stringByReplacingOccurrencesOfString: @" " withString: @""];

NSString *urlString = [@"/pushservice/apns/user/register"stringByAppendingString:@"r=user/register"];

 NSLog(@"devicetoken length: %i", [deviceToken length]);

urlString = [urlString stringByAppendingString:@"&appname="];

urlString = [urlString stringByAppendingString:appName];

urlString = [urlString stringByAppendingString:@"&appversion="];

urlString = [urlString stringByAppendingString:appVersion];

urlString = [urlString stringByAppendingString:@"&deviceuid="];

urlString = [urlString stringByAppendingString:deviceUuid];

urlString = [urlString stringByAppendingString:@"&devicetoken="];

urlString = [urlString stringByAppendingString:deviceToken];

urlString = [urlString stringByAppendingString:@"&devicename="];

urlString = [urlString stringByAppendingString:deviceName];

urlString = [urlString stringByAppendingString:@"&devicemodel="];

urlString = [urlString stringByAppendingString:deviceModel];

urlString = [urlString stringByAppendingString:@"&deviceversion="];

urlString = [urlString stringByAppendingString:deviceSystemVersion];

urlString = [urlString stringByAppendingString:@"&pushbadge="];

urlString = [urlString stringByAppendingString:pushBadge];

urlString = [urlString stringByAppendingString:@"&pushalert="];

urlString = [urlString stringByAppendingString:pushAlert];

urlString = [urlString stringByAppendingString:@"&pushsound="];

urlString = [urlString stringByAppendingString:pushSound];

NSUserDefaults *def=[NSUserDefaults standardUserDefaults];

[def setObject:deviceToken forKey:@"token"];

[def synchronize];
}