gpt4 book ai didi

ios - 如何将设备 token 从 AppDelegate 传递到 UIViewController

转载 作者:可可西里 更新时间:2023-11-01 05:08:48 26 4
gpt4 key购买 nike

您好,在我的应用程序中,我正在获取设备 token ,我正在传递到我的服务器以发送通知,现在我想发送个人通知,因为我需要从我的 UIViewController 中获取设备 token |请告诉是否有可能从 Appdelegate 中获取设备 token 或来自 UIViewController

我在 Appdelegate 中获取设备 token 的代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeNone)];
return YES;
}

设备 token 。

-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
const char* data = [deviceToken bytes];
NSMutableString * token = [NSMutableString string];

for (int i = 0; i < [deviceToken length]; i++) {
[token appendFormat:@"%02.2hhX", data[i]];
}

NSString *urlString = [NSString stringWithFormat:@"url?token=%@",token];

NSURL *url = [[NSURL alloc] initWithString:urlString];
NSLog(@"token %@",urlString);


NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
NSLog(@"request %@ ",urlRequest);
NSData *urlData;
NSURLResponse *response;
urlData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:nil];
NSLog(@"data %@",urlData);

}

我已经使用 获取设备 token 请告诉我如何将设备 token 传递给我的 UIViewController或者如何从我的 UIViewController 中获取设备 token .

最佳答案

使用NSUserDefaults 来存储对象(值),你可以在任何地方访问它。

AppDelegate(设置值):

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
[[NSUserDefaults standardUserDefaults] setObject: token forKey:@"deviceID"];
[[NSUserDefaults standardUserDefaults]synchronize];
}

UIViewController (getValue) :

[[NSUserDefaults standardUserDefaults] objectForKey:@"deviceID"];

关于ios - 如何将设备 token 从 AppDelegate 传递到 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23580654/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com