How to share data between iPhone and Apple Watch using groups?

2 Solutions Collect From Internet About “How to share data between iPhone and Apple Watch using groups?”

We can pass the data between iPhone & iWatch using groups.

Basically iWatch can not do any processing and we need to share the data. We can share data using the NSUserDefaults.

But for that you need to enable Appp Groups from capabilities section in both your project target and your iwatch app target, as showed below

App Groups

Below is the sample code to achieve that.

In your viewController or appDelegate file add following code

 NSUserDefaults *myDefaults = [[NSUserDefaults alloc]
                               initWithSuiteName:@"group.test.yourapp"];
[myDefaults setObject:@"aadil" forKey:@"name"];

Basically you are setting the value "aadil" for "name" variable.

Next step is to write code to retrieve that as below

 NSUserDefaults *myDefaults = [[NSUserDefaults alloc]
                               initWithSuiteName:@"group.test.yourapp"];
[myDefaults objectForKey:@"name"];

Hope this helps 🙂

WARNING! It’s not working with WatchOS 2 anymore, use methods from WatchConnectivity Framework. The best is updateApplicationContext: which always keep the latest data alive. From Apple doc:

Watch apps that shared data with their iOS apps using a shared group
container must be redesigned to handle data differently. In watchOS 2,
each process must manage its own copy of any shared data in the local
container directory. For data that is actually shared and updated by
both apps, this requires using the Watch Connectivity framework to
move that data between them.