LoginSignup
11
9

More than 3 years have passed since last update.

Unity iOSの内部フォルダの保存、閲覧する方法

Last updated at Posted at 2020-09-24

はじめに

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に設定します。

スクリーンショット 2020-09-24 11.18.18.png

項目の追加方法は、、、
+や-で追加と削除が行えます。
スクリーンショット 2020-09-24 11.24.32.png

まとめ

取り敢えずの保存はこれでできますが、保存方法はきちんと考えてユーザー側から見えていいデータなのか編集されても問題ないデータかなどを踏まえてお使いください。
データ確認時はいくらでも使って下さい。

11
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
9