2017-06-08 16 views
0

私はaws s3 syncコマンドの上にGUIインターフェースを提供するMacOSアプリケーションに取り組んでいます。aws-cliをmacosアプリで配送

awsコマンドが存在するかどうかについては、アプリケーションは何も仮定せず、brewawsの両方のコマンドを設定でbrew経由でインストールしようとします。

私は、迅速な3からProcessクラスを使用してbrewawsコマンドを検出し、それが利用できない場合、それをインストールしようとするwhichコマンドに頼っています。大雑把に、SWIFT 3によってインタフェースさスクリプトがどのように見えるこの

#!/bin/sh 

export PATH=$PATH:/usr/local/bin 

if ! [ -x "$(command -v $1)" ]; then 
    echo $2 
    if [ $1 == "brew" ]; then 
     /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" &>/dev/null 
    fi 
    if [ $1 == "aws" ]; then 
     brew install awscli &>/dev/null 
    fi 
fi 

しかし、異なるMacOSのバージョンで、私は自動インストールを管理の問題に実行しています。

「awscli」の特定のバージョンをアプリで出荷することが可能かどうか疑問に思っていました。私は

cp /usr/local/bin/aws <project folder>のようなものを探していて、すべての自動インストールスクリプトを削除しています。

答えて

1

AWSコマンドラインツールは、管理タスクを実行するために直接使用することを意図しています。アプリケーションに組み込むことは意図されておらず、アプリケーションが自動的にインストールすることもありません。

同様に、Homebrewは、開発者がサードパーティ製ソフトウェアのインストールと管理に使用することを意図しています。 は決してにインストールする必要があります。自動的にインストールする必要があります。

アプリケーションはS3 APIと直接やり取りする必要があります。 (Amazonには、Cocoa用のAWS SDKはありませんが、利用可能なサードパーティのオプションがいくつかあります)。

+0

私は答えが好きですが、いくつかの制限があります。私は 'aws s3 sync'コマンドを使いたいと思います。私が知っている最高のaws sdkはbotoですが、syncコマンドはありません。私が考えることができる最も近いのはhttps://pypi.python.org/pypi/boto_rsyncです(これは、MacにはあらかじめインストールされたPythonのバンドルがあると仮定して使用できます)。 同様に、最も近いOSX aws sdkはhttps://github.com/nickoneill/aws-sdk-osx でも安定性についてはわかりません。 そのため、私はaws-cliをアプリに直接バンドルして使用するよう呼びかけました。 – divyenduz

関連する問題