iPhoneアプリからWindows機(サーバ)にSFTPで接続・ファイル送信するには?
受付中
回答 0
投稿
- 評価
- クリップ 1
- VIEW 1,728
前提・実現したいこと
現在macOSの開発機からiPhoneアプリを作成し、
iPhoneアプリ実行時に作成されたcsvファイルをWidows機に
SFTPで送信するようなアプリケーションを作成しています。
iPhoneからMac機へのファイル送信は実行できたのですが、
IPを変更し、Windows機に送信しようと失敗するため困っています。
どなたか少しでもヒントを頂けると助かります。
発生している問題・エラーメッセージ
下記ソース実行時に先頭のNSLog以降はFW内のログ以外は表示されません。
FW内では
2017-01-18 19:52:10.601349 iPhone7+デモアプリ[1917:628435] NMSSH: libssh2 (v1.8.0) initialized
2017-01-18 19:52:10.601394 iPhone7+デモアプリ[1917:628435] NMSSH: Start 10.251.36.205 resolution
2017-01-18 19:52:10.626990 iPhone7+デモアプリ[1917:628435] NMSSH: Socket connection to 10.251.36.205 on port 22 succesful
まではログが出ているのですが、そこでアプリが落ちてしまいます。
実際にアプリが落ちてフォーカスされる箇所はソースコードにコメントしています。
該当のソースコード
NSLog(@"ファイル転送を開始");
//宛先を設定
NMSSHSession *session = [NMSSHSession connectToHost:@"IPアドレス:ポート番号(22)"
withUsername:@"ユーザー名"];
NSLog(@"log1");
if (session.isConnected) {
NSLog(@"log2");
[session authenticateByPassword:@"パスワード"];
if (session.isAuthorized) {
NSLog(@"Authentication succeeded");
NSLog(@"コネクション:OK");
}
NSLog(@"log3");
}
/***実際はここで処理が落ちます***/
//アップロードの成否をsuccessに格納
BOOL success = [session.channel uploadFile:@"~/Documents/ファイル名" to:@"送信先ディレクトリ"];
/***************************/
NSLog(@"res: %c", success);
試したこと
補足情報(言語/FW/ツール等のバージョンなど)
言語;objective-C
FW:NMSSH
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
まだ回答がついていません
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.09%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正の依頼
coco_bauer
2017/01/19 10:30
NSLog(@"コネクション:OK"); のメッセージはログに出力されていますか?
t_obara
2017/01/19 11:44
何らか別の方法で、Windows側で正常にSFTP受信できることは確認できているのですよね?
aram_smithy
2017/01/19 18:04
コメントありがとうございます。 >>coco_bauerさん 出ていません。ネストの一番外側で弾かれます…
aram_smithy
2017/01/19 18:06
コメントありがとうございます。>>tomohiro_obaraさん windows側はFTP通信だけでした。windowsでSFTP通信は可能なのでしょうか?
t_obara
2017/01/19 18:13
もちろん、それに対応したアプリをインストールすれば良いです。
aram_smithy
2017/01/19 21:39
>>tomohiro_obaraさん cyberduck等のアプリだとmacは繋がってもwindowsでは弾かれてしまいます。原因としてwindowsだとSSHを構築しないといけないようなのですが、OpenSSHにてSSHの構築ができませんでした。この場合どうすればよいのでしょうか?
t_obara
2017/01/20 00:08
こちらはクローズして、別途あげた方が良いと思いますが、具体的にどのように構築してダメだったのか提示された方が良いと思います。ちなみに、私は利用したことがありませんが、次のアプリがあるようです。http://mumu.jpn.ph/forest/computer/2016/01/03/2283/