国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

IOS-唯一標識符的獲得和更新

2019-11-14 20:40:39
字體:
供稿:網(wǎng)友

蘋果公司不可能讓其他人獲得個人終端的唯一標識符,所以一個終端給另一個終端發(fā)送消息,必須經(jīng)過蘋果的APNS(Apple Push Notification Service)....而且蘋果為了防止蘋果用戶的唯一標示符泄露,會更新..我們在APNS存儲的唯一標識符

1. 需要告訴蘋果的服務器,當前應用程序需要接收遠程通知

2. 接收到蘋果返回的設備代號

3. 本地保存的設備代號和接收到得蘋果服務器返回的設備代號對比,當Token發(fā)生變化時,提交給服務器保存新的Token

4. 將Token保存至系統(tǒng)偏好

#import "ITAppDelegate.h"

@implementation ITAppDelegate

/**
 遠程消息推送必須在真機上運行!
 */
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // 需要告訴蘋果的服務器,當前應用程序需要接收遠程通知
    [application registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound];
    
    return YES;
}

#PRagma mark - 獲取到設備的代號(令牌)
// 接收到蘋果返回的設備代號
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
    // 第一次運行獲取到DeviceToken時間會比較長!
    NSLog(@"%@", deviceToken);
    
    // 將deviceToken轉(zhuǎn)換成字符串,以便后續(xù)使用
    NSString *token = [deviceToken description];
    NSLog(@"description %@", token);
    
    // =======================================================
    // 如果DeviceToken發(fā)生變化,需要通知服務器
    // 每次都記錄住從服務器獲取到得DeviceToken
    // 再次獲取時進行比對
    // 從偏好設置取出當前保存的Token
    NSString *oldToken = [[NSUserDefaults standardUserDefaults] objectForKey:@"DeviceToken"];
    
    // 當Token發(fā)生變化時,提交給服務器保存新的Token
//    if (![oldToken isEqualToString:token]) {
//        
//        // 將deviceToken通過Post請求,提交給自己的服務器即可!
//        // 發(fā)送Post請求
//        NSURL *url = [NSURL URLWithString:@"公司后臺服務器的網(wǎng)址"];
//        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10.f];
//        
//        request.HTTPMethod = @"POST";
//        request.HTTPBody = @"轉(zhuǎn)換后的設備ID以及其他信息[之前的Token]";
//        
//        // SQL: update t_deviceTable set token = newToken where token = oldToken;
//        
//        // 同步:必須執(zhí)行完才能繼續(xù)
//        // 異步:直接交給其他線程工作,不干擾主線程工作,用戶也感覺不到延遲
//        [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
//            // 偷偷的將用戶信息傳送到公司的服務器
//        }];
//    }
    
    // 將Token保存至系統(tǒng)偏好
    [[NSUserDefaults standardUserDefaults] setObject:token forKey:@"DeviceToken"];
}

@end


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 通州区| 马尔康县| 巨野县| 平远县| 马公市| 通海县| 长寿区| 云安县| 晋城| 班玛县| 公主岭市| 正宁县| 芜湖县| 双流县| 晋宁县| 洛南县| 天峻县| 股票| 蛟河市| 苏尼特右旗| 紫云| 屏山县| 北流市| 枞阳县| 天祝| 临高县| 辽宁省| 麻江县| 宿州市| 丁青县| 和龙市| 贵南县| 香河县| 利津县| 若尔盖县| 玉树县| 谷城县| 北碚区| 土默特右旗| 徐闻县| 武义县|