iPhone向けのゲームアプリを作成しているのですが、
表題の事ができずに困っています。
ゲームアプリがiPhone上から削除されても、
セーブデータを残すような仕組みを作りたいです。
NSUserDefault、NSKeyedArchiver、plist等にて
サンプルオブジェクトを作り実機にてテストしてみた結果
やはりどれもアプリ内にデータを保持しているようでして
アプリを削除するとデータが削除されてしまいます。
アプリが削除されてもデータを保持する方法を教えて下さい、
宜しくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
アプリ削除後もデータを残すとして、そのデータはどうやって削除するつもりですか? アプリは削除してしまってますね? どうしましょう? ということで、NSUserDefaultsなどはアプリを削除するとそれに関連するファイルは削除されるようになっています。
ですので、普通はデータを残すというのはあまりおすすめできません。が、できないことはないでしょう。データの形式にもよりますが、NSStringだのNSDictionaryだのはwriteToFile:メソッドを持っていますから、普通にファイルに保存出来ますよ。ただし保存場所に注意する必要があります。ドキュメントディレクトリ内でないとアクセス権の関係で保存できないはずです。場所をきちんと指定すればファイルに保存出来ます。こんな感じで。
NSArray* dir = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* path = [[dir objectAtIndex:0] stringByAppendingPathComponent:@"ファイル名"];
[保存するオブジェクト writeToFile:path atomically:YES];
あるいは、発想を転換して、データをサーバーに保存するようにしてはいかがですか? そうすればクライアントの環境に関係なくデータは保存できますし、iPhoneを買い換えてもデータを引き継ぐことができます。
ご回答が非常に遅くなりまして申し訳ありません。
>アプリ削除後もデータを残すとして、そのデータはどうやって削除するつもりですか? アプリは削
>除してしまってますね? どうしましょう?
全くもっておっしゃる通りです、
そのあたりの仕様をどうするのか全く気にも留めていませんでした
iPhone内に残すのは却下します。
>データの形式にもよりますが、NSStringだのNSDictionaryだのはwriteToFile:メソッドを持っていますか
>ら、普通にファイルに保存出来ますよ。ただし保存場所に注意する必要があります。ドキュメントデ
>ィレクトリ内でないとアクセス権の関係で保存できないはずです。場所をきちんと指定すればファイ
>ルに保存出来ます。こんな感じで。
すいません時間のある時に試してみます。
このあたりのメソッドはシミュレーターでみるとNSHomeDirectoryの下にある
Documentsの中にしか保存できないと思っていたため、
実機でも同じ位置にしか保存されないと考え除外していました。
>あるいは、発想を転換して、データをサーバーに保存するようにしてはいかがですか? そうすれば
>クライアントの環境に関係なくデータは保存できますし、iPhoneを買い換えてもデータを引き継ぐこ
>とができます。
今この部分が課題になっています、
サーバーの専門家ではないので
サーバーチームの方と相談しなければいけないのですが、
ゲームデータをすべてサーバーに保存するとして
ユーザーが10万人いて、その1割のデータ保存領域を確保したとして
サーバーがの容量が多くなりすぎると考えています。
iCloudを使ってユーザーに保存を促す方法が一番コストの面でベターではないかと考えています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- iPhone(アイフォーン) 以前使っていたSIMカード抜いた状態のiPhoneの 写真アプリの中のデータを一括削除して 『最近削 2 2022/05/20 03:00
- その他(スマートフォン・携帯電話・VR) 生成AIの回答は本当ですか? 新スマホにINEデータを引継ぎには? 2 2023/08/18 06:43
- iPhone(アイフォーン) AppleID 1 2023/06/12 13:59
- アプリ iphoneを使っていてあるアプリのデータを削除してしまいました。 数日前にicloud に全てのデ 1 2022/12/28 19:33
- Java 自作Androidアプリのデータ引き継ぎ方法について。 Android Studio でアプリを作成 1 2022/08/13 21:44
- Excel(エクセル) 特定のデータの抽出方法を教えてください@Excel 4 2023/06/13 18:38
- iPhone(アイフォーン) iphoneのicloud写真データ移動について 3 2022/11/28 18:11
- iCloud iCloud写真とMacの同期について 1 2022/09/25 23:45
- iPhone(アイフォーン) iPhone SE 3 Google アカウントの削除で保存したデータは全て消える? 1 2023/03/06 11:48
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
エクセルで2つの時系列のデー...
-
【エクセル】測定時間がバラバ...
-
Accessで該当データにフラグを...
-
クレジットカードの磁気データ...
-
配列でデータが入っている要素...
-
ビットシフトについて
-
Fortran カンマを含む数値デー...
-
VBAを使ってOutlookメール本文...
-
ページ数を求めたい
-
カンマからスラッシュに
-
ExcelデータをVB.netで検索する...
-
マクロVBAについて
-
VBA 空白セルを削除ではない方...
-
S9タイプからXタイプにデータ...
-
EXCEL VBA FREQUENCY関数での...
-
VBA 毎日取得するデータを順番...
-
COBOL数値転記をCOPY句内での仕様
-
Excelのマクロでワードのテキス...
-
ノイズの入った波形をきれいな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
VBA 空白セルを削除ではない方...
-
多量のSUMIF式を軽くしたい
-
Excelのマクロでワードのテキス...
-
エクセルで2つの時系列のデー...
-
この行は既に別のテーブルに属...
-
VBAを使ってOutlookメール本文...
-
シーケンサにパソコンからアク...
-
EXCELVBAでSQLserverからデータ...
-
ブレーカー落ちで壊れたりしな...
-
[C言語] コメント文字列を無視...
-
オープンチヤットでデータ削除...
-
モジュラス103の算出方法について
-
javaでDBからデータを取ってき...
-
カンマからスラッシュに
-
VBA 毎日取得するデータを順番...
-
Android携帯をUSBメモリ代わりに
おすすめ情報