困ったときは

make でXcodeやXCTestのエラーが出る

Xcode本体を起動して初期設定を済ませ、次のコマンドで使用する開発ツールを確認します。

xcode-select --print-path

/Library/Developer/CommandLineTools が表示され、XCTest が見つからないエラーになる場合は、Xcode本体へ切り替えます。Xcodeを別の場所にインストールしている場合は、パスを変更してください。

unset DEVELOPER_DIR
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
make

システム全体の設定を変えたくない場合は、そのターミナルだけで使用するXcodeを指定できます。

DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer make

Xcodeの更新後などで古いビルド結果が影響している場合は、リポジトリのトップで swift package clean を実行してから、再度 make を実行してください。

ターミナルでは接続できるが、アプリでは失敗する

通常の sftp example ではパスフレーズや確認コードを手入力していないか確認し、接続の準備にある対話入力なしの接続も試してください。

Finderから起動したアプリとターミナルでは、ssh-agentの環境が異なる場合があります。次で鍵の登録状態を確認できます。

ssh-add -l

違いを調べるため、アプリを終了してから、接続できるターミナルでアプリ本体を直接起動することもできます。

"$HOME/Applications/OpenSFTP.app/Contents/MacOS/OpenSFTP"

ホスト鍵が未登録・不一致と表示される

同じMacのターミナルで sftp example を実行し、接続先の鍵を確認してください。不一致の場合はサーバーの変更か接続先の取り違えかを管理者に確認します。原因を確かめずに known_hosts の記録を削除しないでください。

接続先が候補に出ない・接続がタイムアウトする

設定変更後は候補を更新します。Include 先の名前などは直接入力してください。ホスト名・ポート・踏み台サーバー・ネットワークの設定も確認します。アプリの接続待ちのタイムアウトは15秒です。

rsyncに失敗する

次のコマンドで、Macと接続先の両方にrsyncがあることを確認できます。

/usr/bin/rsync --version
ssh example rsync --version

SFTP専用アカウントなどでリモートのコマンド実行が禁止されている場合は、SFTPの転送方法を選んでください。失敗時の自動切替はしません。詳細はアプリのログに表示したコマンド・出力・終了コードで確認できます。

ダウンロード・ファイルを開く操作で同名項目のエラーが出る

通常ファイルの同名衝突では、上書き保存・番号付きの別名保存・キャンセルを選べます。同名のフォルダやリンクがある場合は、別名保存またはキャンセルを選んでください。既存フォルダの中身を更新する場合は、フォルダ転送の方法を選びます。

Finderへのドラッグで保存先を取得できない

ダウンロードボタンや右クリックの「Finderへダウンロード…」から、保存先を選んでください。Finderへの再操作が必要な場合は、もう一度ドラッグしてください。

リンクのコピーに失敗する・コピー後にリンク切れになる

リンク先の文字列は書き換えません。コピー先から同じリンク先を参照できるか確認してください。SFTPで既存リンクを上書きする場合、サーバーがリンクの置き換えに対応していなければ、既存リンクを保持して失敗します。

転送が失敗・中断した、または一時ファイルが残った

キューの結果とログを確認してください。失敗・中断前に完了した転送や削除は、そのまま残ります。失敗したアップロード先には、途中までのファイルが残る場合もあります。

ダウンロード、通常ファイルとSFTP方式のフォルダアップロード、リモート間コピーには .opensftp- で始まり .partial で終わる一時項目を使います。通常の失敗では片付けますが、強制終了・OS停止・通信断などでローカルやサーバー側に残る場合があります。親階層の変更を検出した場合も、安全に削除できない一時項目は残してログに記録します。処理が動いていないことを確認してから、不要な一時項目を削除してください。