質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

2860閲覧

Xcodeでcsvデータが見つからない

agu

総合スコア41

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2017/05/13 00:57

編集2017/05/14 01:50

開発中のゲームでcsvデータを使っています。
UnityでビルドしてXcodeでシミュレートすると起動はできるのですが、csvを読みこむ所で止まってしまいます。
csvのassetbundleはnoneでビルドしているので、全てビルド中に含まれている認識なのですが、
なんらかの手順がたりていないのでしょうか?

現在持っている書籍や検索ではヒントを見つけることが出来ず困っています。
どなたかヒントだけでもいただけますとありがたいです。どうかよろしくお願いします。

◆停止までのxcodeのログです↓
ログそのままで申し訳ありません。
IsolatedStorageExceptionの部分が問題の箇所かと思っているのですが、手順が誤っているかも。と思っているので省略するべきでないと考え全て記載させていただきます。

2017-05-13 07:22:45.397183+0900 Xxxxxxx[260:25691] [DYMTLInitPlatform] platform initialization successful

2017-05-13 07:22:45.537801+0900 Xxxxxxx[260:25514] -> registered mono modules 0x101118c10
2017-05-13 07:22:46.543763+0900 Xxxxxxx[260:25514] You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgroundModes in your Info.plist.
-> applicationDidFinishLaunching()
PlayerConnection initialized from /var/containers/Bundle/Application/770A9792-CAF7-42BB-B8F4-D028C4D1C188/Xxxxxxx.app/Data (debug = 0)
PlayerConnection initialized network socket : 0.0.0.0 55000
Multi-casting "[IP] 192.168.0.6 [Port] 55000 [Flags] 3 [Guid] 4012568094 [EditorId] 2061942143 [Version] 1048832 [Id] iPhonePlayer(iPhone4S-iOS7-Yousuke):56000 [Debug] 1" to [225.0.0.222:54997]...
Waiting for connection from host on [0.0.0.0:55000]...
PlayerConnection accepted from [192.168.0.4] handle:0x6
Started listening to [0.0.0.0:55000]
Player data archive not found at /var/containers/Bundle/Application/770A9792-CAF7-42BB-B8F4-D028C4D1C188/Xxxxxxx.app/Data/data.unity3d, using local filesystem2017-05-13 07:22:47.069687+0900 Xxxxxxx[260:25514] Metal GPU Frame Capture Enabled
2017-05-13 07:22:47.070640+0900 Xxxxxxx[260:25514] Metal API Validation Disabled
2017-05-13 07:22:47.157438+0900 Xxxxxxx[260:25514] libMobileGestalt MobileGestaltSupport.m:153: pid 260 (Xxxxxxx) does not have sandbox access for frZQaeyWLUvLjeuEK43hmg and IS NOT appropriately entitled
2017-05-13 07:22:47.157579+0900 Xxxxxxx[260:25514] libMobileGestalt MobileGestalt.c:550: no access to InverseDeviceID (see rdar://problem/11744455)
-> applicationDidBecomeActive()
GfxDevice: creating device client; threaded=1
Initializing Metal device caps: Apple A8 GPU
Initialize engine version: 5.6.0f3 (497a0f351392)
UnloadTime: 7.964333 ms
Setting up 1 worker threads for Enlighten.
Thread -> id: 16f4af000 -> priority: 1
DataIn
StartUp:DataIn()
$:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
System.Collections.Generic.Comparer1:Compare(T, T) System.Collections.Generic.Comparer1:Compare(T, T)
System.Collections.Generic.Comparer`1:Compare(T, T)
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

IsolatedStorageException: Could not find file "/var/containers/Bundle/Application/770A9792-CAF7-42BB-B8F4-D028C4D1C188/Xxxxxxx.app/Data/Resources/Data\CoursePattern.csv".
at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in <filename unknown>:0
at System.IO.File.OpenRead (System.String path) [0x00000] in <filename unknown>:0
at System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize) [0x00000] in <filename unknown>:0
at StartUp.CouseDataIn () [0x00000] in <filename unknown>:0
at StartUp.DataIn () [0x00000] in <filename unknown>:0
at StartUp+$Start$189+$.MoveNext () [0x00000] in <filename unknown>:0
at UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) [0x00000] in <filename unknown>:0
at System.Collections.Generic.Comparer1[T].Compare (.T x, .T y) [0x00000] in <filename unknown>:0 at System.Collections.Generic.Comparer1[T].Compare (.T x, .T y) [0x00000] in <filename unknown>:0
at System.Collections.Generic.Comparer1[T].Compare (.T x, .T y) [0x00000] in <filename unknown>:0 System.Collections.Generic.Comparer1:Compare(T, T)
System.Collections.Generic.Comparer1:Compare(T, T) System.Collections.Generic.Comparer1:Compare(T, T)
(Filename: currently not available on il2cpp Line: -1)

◆読込みまでのソースコードは下記のようになっており、問題が発生するシーンのゲームオブジェクトにアタッチしてあります。
#pragma strict
import UnityEngine.SceneManagement;
import System.IO;
import System.Collections.Generic;
//データ読込み準備-----------------------
var sr : StreamReader;
var fileName : String;
//--------------------------------------------
function Start () {
DataIn();
}

function Update () {
}

function DataIn(){
CouseDataIn();
}

function CouseDataIn(){
//Debug.Log("couseTest");
fileName = "/Resources/Data\CoursePattern.csv";
sr = new StreamReader(Application.dataPath + fileName,true);
var txt = sr.ReadToEnd();
sr.Close();
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sakura_hana

2017/05/13 04:18

ファイルパスの指定が間違っているような気がします(「/」と「\」が混在しているので)。ファイル読み込み部分のソースコードを提示頂けますか?
agu

2017/05/14 01:51

ありがとうございます!ご返答が遅くなり申し訳ありません。ソースコードの追記を行わせていただきました。JS(UnityScript)となりますが宜しくお願いします。
guest

回答1

0

ベストアンサー

Assets以下のフォルダ(Projectタブ内に見えているファイル)は、ビルド時に圧縮されるのでそのままのフォルダ構成になりません。
Resourcesフォルダがそもそも存在しないことになるのでパスも違うことになります。
(Unityエディタ上では圧縮が行われていないので正常に動作します)

Resourcesフォルダの中にあるなら、CSVをTextAssetとして取り扱えばResources.Loadで読み出せます。
参考:Unityにテキストファイルを取り込んでスクリプトから読み込む-Unityを使った3Dゲームの作り方(かめくめ)

もしくは、外部ファイルとして取り扱う(StreamingAssetsフォルダに入れる等)ことも出来ます。
ただしその場合、アプリ外からファイルを弄れる可能性が出て来ますので(特にAndroid)暗号化等が必要になります。
この辺りは「Unity 外部ファイル」で調べると色々情報が出て来ると思います。

投稿2017/05/15 01:22

sakura_hana

総合スコア11427

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

agu

2017/05/15 21:25

ご返答頂きありがとうございました! 教えて頂いたサイトを参考にしてみたらうまく実装できました! ResourcesLoadでの読込みは過去に失敗してストリームリーダーで実装していたのですが、おそらくResouresLoadのtype指定でミスをしていたのだと思います。 外部ファイルという手段もあるのですね。リソースのロードに関して非常に勉強になりました! 今後も頑張って勉強させていただきます!ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問