iPhone: - 如何将推送通知发送到特定的电话号码

时间:2012-09-07 04:26:34

标签: ios apple-push-notifications messages

我在我的app委托文件中使用了这些方法,我可以在我的iphone上激活通知服务,但我的问题是,因为我想在我想要的时候向我的朋友iphone发送警报。为此,我想使用推送通知,自动更新手机中的闹钟时间和消息。


    //in did finishlaunching

    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:
         (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken1 { 

    NSString *str = [NSString 
                     stringWithFormat:@"Device Token=%@",deviceToken1];
    NSLog(@"device......%@",str);

}

- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err { 

    NSString *str = [NSString stringWithFormat: @"Error: %@", err];
    NSLog(@"device......%@",str);    

}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {

    for (id key in userInfo) {
        NSLog(@"key: %@, value: %@", key, [userInfo objectForKey:key]);
    }    

}

1 个答案:

答案 0 :(得分:0)

而不是需要您的朋友注册其设备的推送通知。然后,您需要确定哪个设备ID属于您的朋友。我建议的一个更简单的解决方案是简单地使用短信通知,这样你就可以个性化你想要的任何电话号码。

-(IBAction) sendInAppSMS:(id) sender
{
    MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease];
    if([MFMessageComposeViewController canSendText])
    {
        controller.body = @"Hello! Time to get up!;
        controller.recipients = [NSArray arrayWithObjects:@"12345678", @"87654321", nil];
        controller.messageComposeDelegate = self;
        [self presentModalViewController:controller animated:YES];
    }
}

来源:http://blog.mugunthkumar.com/coding/iphone-tutorial-how-to-send-in-app-sms/

注意:使用短信可能更有用,因为如果个人的手机处于关闭状态,他们将在手机开机后收到短信。但是,如果个人的电话已关闭,并且他们会收到推送通知,则无法保证他们会收到该电话。如果要求他们收到消息,那么推送通知可能不是最佳解决方案。