我調用AppDelegate中的updateApplicationContext方法來檢查用戶名並將其發送給Apple Watch。didReceiveApplicationContext方法在後臺WatchOS/WatchConnectivity
NSDictionary *applicationDict = @{@"status" : m.customer.first_name};
[[WCSession defaultSession] updateApplicationContext:applicationDict error:nil];
當手表應用程序處於後臺並且iOS應用程序被喚醒時。調用iOS中的updateApplicationContext方法,並在WatchOS中調用didReceiveApplicationContext方法。但是,當Watch應用程序位於後臺時,如果調用didReceiveApplicationContext,則無法設置標籤文本。如果在調用didReceiveApplicationContext時觀看應用程序處於活動狀態,則會更改標籤的文本。在watchOS
委託方法:
func session(session: WCSession, didReceiveApplicationContext applicationContext: [String : AnyObject]){
let message : String = applicationContext["status"] as! String
messageLabel.setText(message)
}
什麼可能是問題的原因是什麼?我應該保持手錶應用在後臺時獲取的值,並在調用willActivate時更改文本嗎?