簡體   English   中英

如何在iPhone應用程序和applewatch之間共享數據?

[英]How to Share data between iPhone app and applewatch?

關於從iPhone應用程序到蘋果手表的共享數據,我遇到了問題。 我嘗試下面的代碼來分享NSMutablearray到蘋果手表,但它無法正常工作。

NSData *encodedObject = [NSKeyedArchiver archivedDataWithRootObject:arrStartScore];
NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.test.StartScore"];
[defaults setObject:encodedObject forKey:@"WatchHomeViewTableList"];
[defaults synchronize];

用於將數據檢索到Apple Watch

NSUserDefaults *myDefaults = [[NSUserDefaults alloc]                                 initWithSuiteName:@"group.com.test.StartScoreCheck"];

arrStartScore = [myDefaults objectForKey:@"WatchHomeViewTableList"];
NSLog(@"dict....%@",arrStartScore);

要將數據從手機發送到手表,請使用此代碼。

WCSession *session = [WCSession defaultSession];
NSError *error;

[session updateApplicationContext:@{@"message": yourArray} error:&error];

要從手表上的手機接收數據:

 - (void) session:(nonnull WCSession *)session didReceiveApplicationContext:(nonnull NSDictionary<NSString *,NSMutableArray *> *)applicationContext {   
 }

您可以使用didReceiveApplicationContext訪問您的數組

  [applicationContext objectForKey:@"message"];

watchOS3在手表和手機上分離了UserDefaults。 AppGroup可以在一個設備中的一個開發人員的應用程序之間共享數據。 要在設備之間傳輸數據,請使用WatchConnectivity框架。

文檔

您可以使用WatchKit Connectivity Framework共享數據。 您可以使用不同的方式進行背景或互動。

通過Apple查看此視頻 ,它解釋了iPhone和Watch之間通信的所有不同方式。

此外,您可以創建一個單獨的手表連接類,並在iOS和WatchOS中使用它。 在設備中建立會話並集成委托方法,您就完成了。 您現在可以在iOS和WatchOS上來回發送和接收消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM