-5

私のアプリについて、Apple から拒否の詳細を受け取りましたが、icloud を使用したことがなく、Apple は次に何をすべきかを説明してくださいと言っているので、何をすべきか理解できません。リンゴの書き込みは以下です。

2.23 お客様のアプリは、App Store レビュー ガイドラインで義務付けられている iOS データ ストレージ ガイドラインに従っていないことがわかりました。特に、起動時および/またはコンテンツのダウンロード時に、アプリが 32 MB を保存することがわかりました。アプリが保存しているデータ量を確認するには:

  • アプリをインストールして起動する
  • [設定] > [iCloud] > [ストレージとバックアップ] > [ストレージの管理] に移動します
  • 必要に応じて「すべてのアプリを表示」をタップ
  • アプリのストレージを確認する iOS データ ストレージ ガイドラインは、ドキュメント、新しいファイル、編集など、ユーザーがアプリを使用して作成したコンテンツのみを iCloud でバックアップする必要があることを示しています。

アプリで使用される一時ファイルは、/tmp ディレクトリにのみ保存する必要があります。ユーザーがアプリを終了するときに、この場所に保存されているファイルを削除することを忘れないでください。再作成できるが、アプリが適切に機能するために保持する必要があるデータ、または顧客がオフラインで使用できることを期待しているデータは、「バックアップしない」属性でマークする必要があります。NSURL オブジェクトの場合、NSURLIsExcludedFromBackupKey 属性を追加して、対応するファイルがバックアップされないようにします。CFURLRef オブジェクトの場合、対応する kCFURLIsExcludedFromBackupKey 属性を使用します。詳細については、テクニカル Q&A 1719: ファイルが iCloud および iTunes にバックアップされないようにするにはどうすればよいですか? を参照してください。

iOS データ ストレージ ガイドラインの要件を満たすようにアプリを修正する必要があります。個々のコード レベルの質問については、Apple Developer Technical Support に相談してください。必ず次のことを行ってください。

  • 拒否の問題の完全な詳細を含めてください
  • DTS エンジニアがフォローアップするときに問題を再現するために、象徴化されたクラッシュ ログ、スクリーンショット、および手順を準備します。

クラッシュ ログをシンボル化して読み取る方法については、テクニカル ノート TN2151「iPhone OS アプリケーション クラッシュ レポートの理解と分析」を参照してください。この問題の再現に問題がある場合は、 Xcode のアーカイブ機能を使用したワークフローのテストで説明されているように、ワークフローをテストしてみてください。

4

2 に答える 2

6

ドキュメント ディレクトリにダウンロードされたすべてのリソースを iphone で管理できるようにするには、「バックアップしない」属性を設定する必要があります。

appdelegate の didFinishLaunchingWithOptions メソッドに以下のコードを配置します -

NSArray *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentDir = [docPath objectAtIndex:0];
    NSURL *pathurl=[NSURL fileURLWithPath:documentDir];

const char* filePath = [[URL path] fileSystemRepresentation];
    const char* attrName = "com.apple.MobileBackup";
    u_int8_t attrValue = 1;

    int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0);
    return result == 0;
于 2013-03-29T06:22:47.727 に答える
0

アプリが起動時またはコンテンツのダウンロード時に Documents Directory に 32MB のデータを保存していることを明確に示しています。Document ディレクトリ内のデータはすべて自動的にバックアップされます。

したがって、アプリを同じように使用したい場合は、次の 2 つのことを行うことができます。

1)「Temp」などの他のディレクトリにデータを保存します

また

2)データを「バックアップしない」属性としてマークします。URL からデータをダウンロードする場合、NSURL オブジェクトの場合は、NSURLIsExcludedFromBackupKey 属性を追加して、対応するファイルがバックアップされないようにします。

于 2013-03-29T06:21:17.877 に答える