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

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

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

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Swift

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

1749閲覧

iOSアプリ開発について

ousama

総合スコア3

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Swift

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/05/05 17:04

編集2020/05/06 02:14

機械学習を用いたiOSアプリをswiftを用いて開発したいと考えています。
現在、加速度センサなどの取得した値をjsonファイルとして実機のDocumentsに保存することはできています。
その後、取得し保存してあるデータをPCに送信し、pythonで前処理を行い機械学習を行いたいと考えいます。

保存してあるデータをPCに送信し,保存したいと考えているのですが、swift側の処理やPC側の処理などどのように実装したら良いかが分かっていない状況です。

何かサイトや通信の流れなど教えていただきたいです。

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

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

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

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

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

guest

回答2

0

ベストアンサー

Finder(macOS Catalina)あるいはiTunes(Windows/macOS Catalina以前)を使って共有する、という方法もあります。

1.書き込みコード

端末側の書き込みはこんな感じになります。

swift

1 let fm = FileManager.default 2 let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first! 3 let filePath = documentsPath + "/myfile.txt" 4 if !fm.fileExists(atPath: filePath) { 5 fm.createFile(atPath: filePath, contents: nil, attributes: [:]) 6 } 7 8 let url = URL(fileURLWithPath: filePath) 9 do { 10 let doc = "abc" 11 try doc.write(to: url, atomically: true, encoding: .utf8) 12 } catch { 13 print(error) 14 }

上記のコードは下記の記事を参照し、データを書き込む部分を追加しました。

Documentsへの書き込みはできているということですので、この辺りの改変は最小で済むかと思います。

2.Info.plistの設定

次に、Info.plistを編集し、Finderからファイルが見られるようにします。

Application supports iTunes file sharingを追加し、YESに設定します。

具体的な方法については、やはり上記記事のStep.1を参考にしてみてください。

3.Finderで接続し、ファイルをダウンロードする

これは Apple 公式のドキュメントが参考になります。

上記で作成したアプリを実機で動かした後、Finder を起動し、「場所」からiPhoneを選択後、「ファイル」を選びお作りになったアプリ名を探してクリックすれば、作成したファイルが見えるようになります。

ここで見えるファイル名をクリックしても使えないので、一度適切なフォルダなどにコピーして使ってもらえますでしょうか。

もし、アプリ名が見つからない場合は Info.plist の設定が間違っている可能性がありますのでご確認ください。

もし、上記の説明で足りなければコメントください。

投稿2020/05/06 00:38

TsukubaDepot

総合スコア5086

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

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

ousama

2020/05/06 02:17

ご回答ありがとうございます。 Findaer接続での共有はこれまで行っていたのですが、自動でPCに送信することを実装したいと考えています。
guest

0

Webサーバーを構築して、Python で Rest API を作成するのが一番簡単だと思います。
クライアント側となる iOS アプリは、HTTP 通信経由で Python とやり取りできるようになります。

実装方法については、「python rest api」「swift http」などのキーワードで Google 検索すれば、たくさん解説サイトが出てきますよ。

投稿2020/05/05 23:37

nskydiving

総合スコア6500

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

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

ousama

2020/05/06 06:42 編集

ご回答ありがとうございます。 調べながら実装を試みてみようと思います。 webサーバーの構築はPythonでのローカルサーバ構築でもよろしいでしょうか??
nskydiving

2020/05/07 01:16

ローカルネットワーク内のみで使うのであれば、それでも良いと思います。 しかし、iOSアプリとして公開するのであれば、一般的にはインターネットに接続して使うのではないでしょうか。
ousama

2020/05/07 05:48

まずはローカルサーバを構築してみようと思います。 調べてみたのですがあまり理解できていなくて、確認させていただきたいのですが、 クライアント(swift)から保存しているファイルをローカルサーバに送信 ↓ pythonで構築したローカルサーバ内にrestapiがありそれを介して保存や、responseがある といった認識であっていますでしょうか?
nskydiving

2020/05/07 05:56

ローカルサーバー上に、 Python を使って Rest API を構築します。 クライアントから Rest API を呼び出すことによって、ファイルを送信したり、レスポンスを返すことができます。 実際に Python で Rest API を作ってみることで理解が深まると思いますので、まずは手を動かすことをおすすめします。
ousama

2020/05/07 15:21

ベストアンサーにしようとしたのですが押し間違えてしまいました。 大変助かりました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問