2015-10-10 75 views

回答

0

您應該直接從WatchKit擴展中使用NSURLSession。

+0

這很奇怪,因爲手錶缺少一個SIM卡,所以它不能連接到互聯網本身,但也許在無線網絡覆蓋。我正在尋找一種在WiFi和蜂窩覆蓋下提交URL的方式。我正在考慮使用WCSession.sendMessage和一個處理程序,在該處理程序中,主應用程序在執行URLS請求本身之後會放置結果。但我不清楚這是否也適用,但主應用程序不活躍。 –

+0

如果需要和可用,NSURLSession將利用手機的蜂窩電話 – ccjensen

0

雖然蘋果的例子是在迅速看到https://developer.apple.com/videos/play/wwdc2015-228/?time=345,我在obejctive-C utlisin的NSProcessInfo包裝粘貼片段。

蘋果的例子也使用信號量,如果延伸到睡眠,我已經從下面省略。

按照以下模式,您可以直接在手錶上點擊所需的服務。

NSProcessInfo *processInfo = [NSProcessInfo processInfo]; 

[processInfo performExpiringActivityWithReason:@"networkReq" usingBlock:^(BOOL expired) { 
    if (!expired){    
     NSLog(@"we have an assertion");   
     NSTimeInterval secondsInThreeHours = 3 * 60 * 60; 
     NSURL *forecast = [NSURL URLWithString:@"http::address"]; 

     NSURLSession *session = [NSURLSession sharedSession]; 
     [[session dataTaskWithURL:forecast 
       completionHandler:^(NSData *data, 
            NSURLResponse *response, 
            NSError *error) { 
        // handle response 
     }] resume]; 
    else{ 

     NSLog(@"Not background assertion or we are out of time"); 
    } 
}];