0
從Apple watch擴展中,handlewatchkitextensionrequest未調用異步調用並將nill數據返回給Apple Watch,下面是代碼請幫助我。handlewatchkitextensionrequest不調用暫停狀態下的異步調用
-(void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void (^)(NSDictionary *))reply
{
__block UIBackgroundTaskIdentifier watchKitHandler;
watchKitHandler = [[UIApplication sharedApplication] beginBackgroundTaskWithName:@"backgroundTask"
expirationHandler:^{
watchKitHandler = UIBackgroundTaskInvalid;
}];
dispatch_semaphore_t sema = dispatch_semaphore_create(0);
if ([[userInfo objectForKey:@"request"] isEqualToString:@"NearestFacility"]) {
[self NearestFacilityClicked];
if (self.ary_WatchKitNearestFacility.count>0) {
NSDictionary *response = @{@"response" : self.ary_WatchKitNearestFacility};
reply(response);
}
}
dispatch_semaphore_signal(sema);
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)NSEC_PER_SEC * 1), dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[[UIApplication sharedApplication] endBackgroundTask:watchKitHandler];
});
}
-(IBAction)NearestFacilityClicked
{
// ASIFormdatarequest call
[request startAsynchronous];
}
親愛的法瓦茲,非常感謝您的回覆,我的手錶操作系統是1.0.1,還是我面對這個問題:( – DevD
親愛的法瓦茲,我注意到,如果我傳遞零回覆或大於簡單的字典回覆它通過擴展方法處理,當試圖通過numutablearray回覆比它給我下面的錯誤 – DevD
錯誤域= com.apple.watchkit.errors代碼= 2「iPhone應用程序中的UIApplicationDelegate從來沒有調用回覆()nsmutablearray,你有關於這個的想法? – DevD