開発環境 Xcode9.4 / Swift4.1
測定したデータをCSVファイルにして他のアプリに送信する方法として、以前の質問で、一度ファイルとして保存してからそのパスを指定する方法を教えていただき、その方法で以下のようにコードを書きました。参考にしたサイトは下の方にまとめています。
しかし、実行して、OneDriveに送信しようとしたところ、ファイル名が表示されずOneDriveのアカウントも選択できない状態でした。
コンソール画面の出力を見たところ、CSV形式への変換やパスの生成はできているようです。
解決策をご教示頂けますでしょうか。
swift
1//ファイル送信ボタン 2 @IBAction func sendFile(_ sender: Any) { 3 createFile(fileArrData: tapData) 4 } 5 6 func createFile(fileArrData : [[String]]){ 7 8 var fileStrData:String = "" 9 let fileName = "tapdata4.7inch.csv" 10 11 //StringのCSV用データを準備 12 for singleArray in fileArrData{ 13 for singleString in singleArray{ 14 fileStrData += "\"" + singleString + "\"" 15 if singleString != singleArray[singleArray.count-1]{ 16 fileStrData += "," 17 } 18 } 19 fileStrData += "\n" 20 } 21 print(fileStrData) 22 23 // DocumentディレクトリのfileURLを取得 24 let documentDirectoryFileURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).last! 25 26 // ディレクトリのパスにファイル名をつなげてファイルのフルパスを作る 27 let FilePath = documentDirectoryFileURL.appendingPathComponent(fileName) 28 29 print("書き込むファイルのパス: (FilePath)") 30 31 do { 32 try fileStrData.write(to: FilePath, atomically: true, encoding: String.Encoding.utf8) 33 } catch let error as NSError { 34 print("failed to write: (error)") 35 } 36 37 let documentInteraction = UIDocumentInteractionController(url: URL(fileURLWithPath: "(FilePath)")) 38 39 if !documentInteraction.presentOpenInMenu(from: self.view.frame, in: self.view, animated: true) 40 { 41 // 送信できるアプリが見つからなかった時の処理 42 let alert = UIAlertController(title: "送信失敗", message: "ファイルを送れるアプリが見つかりません", preferredStyle: .alert) 43 alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil)) 44 self.present(alert, animated: true, completion: nil) 45 } 46 47 }
以下コンソール出力
書き込むファイルのパス: file:///var/mobile/Containers/Data/Application/12E639CD-26D3-4250-A587-21987CA04755/Documents/tapdata4.7inch.csv 2018-07-30 13:15:03.258406+0900 LearningTask4.7inch[48044:3362663] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles 2018-07-30 13:15:03.258612+0900 LearningTask4.7inch[48044:3362663] [MC] Reading from public effective user settings.
参考サイト
Swiftでファイル読み込みと保存
[Swift3.0] テキストをファイルに書き込んでアプリ内に保存する
Documents下に多次元配列からCSVファイルを作る
[Swift 3.0] iOSアプリ間でファイルの送受信を行う
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/31 04:45
2018/07/31 06:53
2018/07/31 07:24
2018/07/31 07:27