2011-10-17 22 views
17

をiCloudの使い方:私はiOSシミュレータでコードを実行しようとすると、iOSシミュレータで、私のアプリで

NSURL *iCloudURL = [fileManager URLForUbiquityContainerIdentifier:@"2VHM28566N.com.eept.TestICloud"]; 
NSLog(@"IS ICloud : %@", [iCloudURL absoluteString]); 

それはiCloudURLがnilであることを示しています。

iCloudをiPhoneデバイスなしで使用できますか?

+1

@ "2VHM28566N.com.eept.TestICloud" とは何ですか?私がこれをすると、引数としてnilを渡します。これが何をしてくれるのか説明できますか? – tallen11

+1

'2VHM28566N.com.eept.TestICloud'は、問題のこの個人の特定のアプリのコンテナIDです。エンタイトルメントファイルまたはiCloudコンテナリストを見ると、iCloudを使用するすべてのアプリで同様の文字列が表示されます。引数としてnilを渡すと、リストに表示される最初のiCloudコンテナが使用されます。 – theMikeSwan

答えて

24

今日私のiCloudアプリケーションをシミュレータで実行しようとしましたが、シミュレータでiCloudを有効にするオプションはありません。私は設定を見ましたが、運はありません。実際のデバイスでテストしない限り、iCloudを実際にテストすることはできません。

誰かが回避策を講じている場合、それは素晴らしいでしょう。デバイス上でアプリを常にテストするのは面倒です。

+4

これは間違いありません、iCloudとシミュレータは一緒に行かないでください。 – NSSplendid

+4

Xcode 5以降、シミュレータはiCloudをサポートしています。他の答えを確認してください:http://stackoverflow.com/a/19710768/811830 – lari

0

これは古いトピックですが、デプロイメントターゲットを「デバイス」に変更することでiCloudをテストできます。 USBを介してデバイスを接続し、楽しみを開始させてください。

私はこれがセキュリティ上の理由から、またそれには非常に良い理由のために行われたと思います。

あなたのデバイスには、iCloudのバケットとApp Bundle IDを関連付けたモバイルプロビジョニング証明書があるため、プロビジョニングされたiCloudバケットにあなた(アプリと許可されたデバイス)のみがアクセスできるようになります。

これらの証明書とIDがすべてなくてもシミュレータで実行できる場合は、ダウンロードした他のアプリから簡単にチームIDを取得し、そのIDを使用してプロジェクトをまとめて結婚証明書iCloudバケツで、別のAppのバケツにフルアクセスできます。

私はこれを回避しようとしたが、5m USB延長を注文したので、デスクの上で机の上に座ったり、テスト中に座ったりすることなく、iPads、iPod、iPhoneをデスクの前に置くことができます。

edit allthewayappsがバンドルIDについて何を求めているかについて少しだけ明確な答えを追加するだけです。

2VHM28566N.com.eept.TestICloud 

この場合の3部で構成されています。要するに

2VHM28566N - Being the TeamID which Apple assign you when you register as a developer 

com.eept - Reverse domain notation of the App's related website i.e. Apple apps would have com.apple 

TestICloud - The name of that app itself. 

その:

teamid.com.yourdomain.appname 

は、この情報がお役に立てば幸いです。 Xcodeの5では

17

iOSシミュレータは、今のiCloudを使用してデバイス間で同期するアプリケーションを有効にする、アプリ内の文書やKVSデータ ののiCloud同期をサポートしています。 この機能は、アプリドキュメント とデータが複数のデバイス間で正しく同期していることを確認するためにテストする場合に便利です。

注:iOSシミュレータで実行しているアプリでは、設定アプリを使用してApple IDアカウントにログインします。ログイン後、デバッグメニューの「 iCloud syncをトリガする」コマンドを使用して、 を他のデバイスと同期させるようにシミュレータに指示します。

+0

もう1つのメモ "** iCloudシミュレータはiOS 7.0以降をシミュレートする場合のみ**" - https://developer.apple.com/ライブラリ/ ios/documentation/IDEs/Conceptual/iOS_Simulator_Guide/TestingontheiOSSimulator/TestingontheiOSSimulator.html#// apple_ref/doc/uid/TP40012848-CH4-SW12 – stan

関連する問題