#はじめに
UnityでiOSの「フォルダ」アプリに保存したい場合の方法について記述します。実装方法よりXcodeの設定方法がメインとなります。
#実装について
UnityのApplication.persistentDataPathを使用します。
永続的なデータを保存する場所として用意されているパス先です。
一点気をつけたいのが、
iCloudバックアップ領域に保存されるので、容量が大きい場合審査に落ちる場合があります。基本的にはiCloudにはバックアップしないという設定をUnityメソッドで呼び出します。SetNoBackupFlagのパス先はバックアップ対象外となります。
余程大きくなるなら大人しくサーバにあげましょう。あくまで内部フォルダです。
using UnityEngine;
using System;
using System.IO;
public class save : MonoBehaviour
{
private string _savePath;
void Start()
{
//iCloudバックアップ不要設定
UnityEngine.iOS.Device.SetNoBackupFlag(Application.persistentDataPath);
//iOS : /var/mobile/Containers/Data/Application/<guid>/Documents/Product名/hoge/
//MacOS : /Users/user名/Library/Application Support/DefaultCompany/Product名/hoge/
_savePath = Application.persistentDataPath + "/hoge/";
Debug.Log(_savePath);
Directory.CreateDirectory(_savePath);
using (File.Create(_savePath + "test.txt")) {
//今回は生成のみですが、記述、読込など
}
}
}
iOS側では「ファイル」アプリに保存されます。(Xcode設定するまでは見えません)
MacOS側では通常の状態では「ライブラリ」から隠しフォルダ設定になっているので「Command」+「Shift」+ 「.」のショートカットキーで閲覧可能になります。
#Xcodeの設定について
展開したXcodeの設定画面で「Info」の中の「Custom iOS Target Properties」に
「Application supports iTunes file Sharing」
「Supports opening documents in place」
を追加してYESに設定します。
#まとめ
取り敢えずの保存はこれでできますが、保存方法はきちんと考えてユーザー側から見えていいデータなのか編集されても問題ないデータかなどを踏まえてお使いください。
データ確認時はいくらでも使って下さい。