Я пытаюсь создать простое приложение для просмотра, которое отображает информацию, отправленную приложением-компаньоном. У меня возникли проблемы с тем, чтобы приложение WatchKit получало информацию.Проблемы с подключением к приложениям WatchKit
На стороне отправителя у меня есть следующий код:
- (void)viewDidLoad {
[super viewDidLoad];
// Prevents UIWebView from displaying under nav bar
self.navigationController.navigationBar.translucent = NO;
_timer = [NSTimer scheduledTimerWithTimeInterval:12.0 target:self selector:@selector(showAlert) userInfo:nil repeats:NO];
_diningLocations = [[NSMutableArray alloc] initWithCapacity:0];
if ([WCSession isSupported]) {
self.session = [WCSession defaultSession];
self.session.delegate = self;
[self.session activateSession];
// The following line works
//[self.session updateApplicationContext:@{@"hello" : @"world"} error:nil];
}
- (void)grabLocationsFromServer {
_query = [PFQuery queryWithClassName:self.tableName];
[MBProgressHUD showHUDAddedTo:self.view animated:YES];
[_query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
// Do stuff
[self.locationTable reloadData];
[self loadWatchApp];
} else {
// Log details of the failure
NSLog(@"Error: %@ %@", error, [error userInfo]);
[MBProgressHUD hideHUDForView:self.view animated:YES];
}
[MBProgressHUD hideHUDForView:self.view animated:YES];
}];
}
- (void)loadWatchApp {
if(self.session) {
if (self.session.paired && self.session.watchAppInstalled) {
NSError *error;
[self.session updateApplicationContext:@{@"Locations": self.diningLocations} error:&error];
}
}
}
На приемном конце у меня есть этот простой фрагмент кода:
func loadTableData(data: [RFDiningLocation]) {
table.setNumberOfRows(data.count, withRowType: "location")
for i in 0..<data.count {
let row = table.rowControllerAtIndex(i) as! RFDiningRowController
// row.label.setText(data[i].name)
row.label.setText("Hello, world!")
}
}
Когда я звоню updateApplicationContext в viewDidLoad, он работает на 100% отлично, но когда я вызываю его из другой функции, приложение WatchKit просто не отвечает. Я могу подтвердить, что loadWatchApp вызывается, а также updateApplicationContext. Благодаря!
вызов updateApplicationContext вернуться ли ошибка? – ccjensen