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

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

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

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Xcode

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

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

3445閲覧

.csvがどこに保存されているのかがわからない

kamimaru

総合スコア2

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Xcode

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

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2020/10/04 04:14

前提・実現したいこと

swiftで作成したiphoneアプリ内でデータを取り(accrecord,gyrorecord)、それを.csvファイルに
出力してから保存したいと考えています。NSHomeDirectory() + "/Documents" というコードを
調べてもiponeのどこに保存されているのかが分かりません。

初期で入っているファイルアプリも確認しましたが保存されていないようでした。

試したこと

http://begigrammer.hatenablog.com/entry/2017/01/01/041039
こちらのページを参考にして以下のコードを書きました。

func createFile(fileName : String){ let filePath = NSHomeDirectory() + "/Documents" + fileName + ".csv" print(filePath) print(accrecord) print(gyrorecord) do{ try accrecord.write(toFile: filePath, atomically: true, encoding: String.Encoding.utf8) try gyrorecord.write(toFile: filePath, atomically: true, encoding: String.Encoding.utf8) print("Success to Write the File") }catch _ as NSError{ print("Filure to Write File\n(error)") }

補足情報(FW/ツールのバージョンなど)

X-code12.0
Swift5

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

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

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

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

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

guest

回答1

0

ベストアンサー

ファイルアプリ(ファイラー)からファイルが見えるようにするためには、下記URLのStep 1 にある通り、 Info.plist に2つの値を設定する必要があるようです。

両方の設定を行えば、ファイルアプリから保存したデータが見えることは確認してみました。

###2020年10月9日追記

例えばですが、次のようなサンプルを実行すると、ファイルが作られているのを確認できています。

Swift

1import UIKit 2 3class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view. 8 9 createFile(fileName: "testdata") 10 11 print("file saved") 12 } 13 14 15 func createFile(fileName : String){ 16 let documentPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first! 17 let filePath = documentPath + "/" + fileName + ".csv" 18 19 let data = "1,2,3" 20 21 do { 22 try data.write(toFile: filePath, atomically: true, encoding: .utf8) 23 } catch { 24 print(error) 25 } 26 } 27}

イメージ説明

イメージ説明

投稿2020/10/04 05:01

編集2020/10/08 06:27
TsukubaDepot

総合スコア5086

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

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

kamimaru

2020/10/04 12:31

すみません、やはり表示されません。紹介して頂いたページで実行していたプログラムを動かしましたが、このiphone内(On My iPhone)の欄には何も表記されませんでした。現在の状況ではMacで作成したアプリは全てiPhoneのファイルアプリのiCloud Drive>デスクトップ>iphone aplication>プロジェクト名という形で表示されています。 iCloud Driveの中には他に<ダウンロード>、<書類>が表記されています。ここに新規フォルダをDocumentsという名前で作ろうとすると「もうすでに存在しています」と出るため、表記されていないものがあるか<書類>がそれを指しているのではと考えています。 また、<On my iPhone>に新規フォルダをファイルアプリから直接作りましたが、csvファイルはその中に表示されませんでした。
TsukubaDepot

2020/10/04 13:13

Info.plist の設定も間違いなく済ませている、ということでしょうか。
kamimaru

2020/10/04 14:15

そうですね。step1に書かれている2つのものを追加してから値をNOから YESに変更しました。 本来なら<On my iPhone>にDocumentsが出てくるはずなんですよね?
TsukubaDepot

2020/10/05 04:21

少し意識合わせが必要な気がしますので、下記の件についてコメントいただければと思います。 - .csv は、iOS 標準アプリのFile App で見えればよいのか(本体の内部にあれば良いのか)、それとも iCloud上にアップロードされる必要があるのか。 - .csv は他の機材に転送する必要があるのか、それともアプリ内で別のデータに変換できればそれで済むのか
kamimaru

2020/10/07 16:14

現段階で目指しているのはiphoneの<ファイル>というアプリで見えればよいと考えています。 -.csvは他のサーバーに転送する予定ではありますが、一つ一つ解決していかないと頭が混乱してしまうため、この質問欄に限っては考えないようにしています。 最後に「アプリ内で~」というのはわからないのですが、 センサーから得られた値を変数に入れるー> その変数が書かれたcsvを作成するー> csvファイルを<ファイル>アプリで確認できるようにする ここまでが、自分の考えているものです。 プログラムについての知識がないため質問にお答えできているかわかりませんが、これで大丈夫でしょうか。
TsukubaDepot

2020/10/08 06:28

コメントの途中に iCloud の話が出てきたので、念のため確認しました。 ファイルとして保存されていることが確認できれば良いということですね。 2つ目の質問の「アプリ内で別のデータに変換できればそれで済むのか」という話ですが、もしアプリ内に保存することが本質的な問題でなければ、別の方法を考えた方が現実的だと考えたためです。 こちらで動作確認したサンプルを回答本文に追記しましたので、そちらでも確認していただけますでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問