4

Swift でサーバーを開発しており、Swift Package Manager を使用しています。また、Mac OS システムで開発を行って Xcode プロジェクトを生成し、Xcode を IDE として使用する場合に便利です (つまり、時々、パッケージの依存関係を更新する必要があります。これを行うために使用swift package generate-xcodeprojしています。この時点で問題が発生します。Xcode でいくつかの設定を作成しました。たとえば、DEBUG フラグを設定し、ファイルのコピー フェーズにある .plist ファイルを持っています。これらは、Xcode プロジェクトを再生成すると失われます。 .swift package update依存関係でファイルが変更され、これらがXcodeプロジェクトに伝播されないことがあるため、単純に使用できないようです。

私が望むのは、Xcode の外部のファイルで Xcode の設定を個別に確立する手段であり、これを実行するときに Xcode にインポートできますswift package generate-xcodeproj。私はこれを行う方法を見たことがありません。

関連する質問は次のとおりです。私が行うとき、swift build同じビルド設定を使用したいと思います。

提案?

4

3 に答える 3

4

私はどうすることもできませんCopy Files Phase

ただし、次のように、条件付きコンパイルをいじっています。

swift package generate-xcodeproj --xcconfig-overrides Sandbox.xcconfig

Sandbox.xcconfig

FLAG_SANDBOX = -DSANDBOX
OTHER_SWIFT_FLAGS = $(FLAG_SANDBOX)

これにより、 が定義されている Xcode プロジェクトが作成SANDBOXされます。

これは、このような迅速なコードで使用できます

#if SANDBOX
    print("sandbox")
#else
    print("production")
#endif
于 2017-10-03T08:01:23.410 に答える
3

再生成するたびに、スクリプトまたはメイクファイルを使用して、生成された Xcode プロジェクトに設定をインポートします。xcodeproj ruby​​gemを使用できます。

サンプル スクリプトを参照してください。

での設定の使用に関してswift build、そのような設定の例を挙げていただけますか? 一般に、makefile は設定ファイルを読み取り、対応するパラメータを に渡すことができますswift build

于 2017-01-08T05:32:09.853 に答える