2017-01-11 6 views
0

iOSアプリケーションにNSUserDefault文字列を格納し、WatchOSでそれらを取得する際に問題があります。NSUserDefaultsを使ってiOSとwatchOSの間でデータを共有しますか?

私は、AppグループについてNSUserDefaultsを使用してアプリケーショングループ&を作成するための次のチュートリアルを使用:すべてのプロビジョニング・エラーを持っていないようでしたアプリのグループを作成した後、私を取得しようとした後、最終的にはhttp://www.atomicbird.com/blog/sharing-with-app-extensions

を値はnullのままです。

NSUserDefaults *myDefaults = [[NSUserDefaults alloc] 
initWithSuiteName:@"APP GROUP ID"]; 
[myDefaults setObject:totalDonatedString forKey:@"donatedForWatch"]; 

そして(willActivateInterfaceController.mで)取得:

NSUserDefaults *myDefaults = [[NSUserDefaults alloc] 
initWithSuiteName:@"APP GROUP ID"]; 
NSString *donatedWatchString = [myDefaults objectForKey:@"donatedForWatch"]; 
NSLog(@"%@", donatedWatchString); 
[_totalDonatedLabelWatch setText:donatedWatchString]; 

は、ここに私の(HomeViewController.mに)格納するためのコードです(にもかかわらず、私が保存された値は間違いありませんでしたnull

私はiOS dev/Obj Cの新機能ですので、何か助けてください!

+0

ウォッチOSでのみ動作する、アプリケーショングループを介してウォッチアプリとデータを共有することはできません。WatchConnectivityフレームワークを使用してください。 – dan

+0

@danありがとうございます。今より意味をなさない私はこのガイドを興味のある人に使ってしまいました:https://telliott.io/2015/08/11/how-to-communicate-between-ios-and-watchos2.html – Nbajaj

答えて

0

データを共有するには、「App Group」を使用してアプローチを静かにします。主アプリターゲットに含まれるヘッダファイルを作成します。あなたのアプリケーショングループを識別するマクロを定義します。たとえば、あなたが(watchosアプリ関連ファイルやメインアプリケーションファイル内の)アプリのグループにアクセスしたいところはどこでも

#ifndef CONSTANT_H 
#define CONSTANT_H 

#define SHARED_APP_GROUP @"name_of_your_app_group" 

#endif 

インポートこのファイルを以下のように含まConstant.hを宣言します。 WatchOS 2と大きいために

関連する問題