2017-03-09 8 views
1

短いはコピーバンドルリソースXcodeで8

を見つからないファイルを無視し、私はエラーました:

No such file or directory

をしかし、これは意図的なものです。このエラーを無視する方法はありますか?または、プログラムでコピーバンドルリソースからファイルを削除できますか?

背景

私は別のプロバイダのためのアプリを持っています。すべてのプロバイダは異なる設定を持ち、いくつかの異なるjsonファイルを取得します。たとえば、Provider1にはfile1.json、file2.json、Provider2にはfile1.json、file3.json、Provider3にはfile2.jsonのみがあります。

アプリのアップロードごとにjsonファイルを変更することができます(設定のことです)。今私の基本的なプロジェクトでは、すべての可能なjsonファイルへの参照があります。このファイルにはテストデータが格納されています。

周りの仕事は、この自動いっぱいのようである: プロバイダの個々のJSONファイルを取得する - >私の基本的なプロジェクトに設立されたJSONファイルをマージし、テストデータと既存のjsonsを上書き - >アプリは通常fastlane

でアップロードを開始新しいバージョンをアップロードする前に、すべてのテストデータのコメントを解除します。だから、可能なすべてのリファレンスはXcodeで大丈夫です。

ここでコメントを外すのを忘れて、プロバイダがテストデータで間違ったファイルを受信しました。

この問題を解決するために、私はgit ignoreを設定しました。だから私のプロジェクトでは、プロバイダが必要とするjsonsファイルだけです。しかし、私のプロジェクトファイルからの参照はまだ存在しています。だから私はなぜエラーが表示されるのか理解しています。

どのように私はその問題をスマートに解決できますか?

答えて

0

各プロバイダのターゲットを作成する必要があります。そして、適切なターゲットで各ファイル(config/json)を設定してください... バージョンを差別化するために手動で作業しないでください!幸運

+0

私はこのアイディアについて少しお読みになりましたが、私はそれに触発することはできません。 Webインターフェイスについてプロバイダを設定します。データはリポジトリに保存されます。私はプロバイダのデータと基本バージョンをマージします。私はxcodeプロジェクトに手動ですべてを配置したくありません。 しかしこれが可能であることを知っておいてよかったです。 – kuzdu

+0

私はあなたの英語を理解していません。依存関係を管理するためにXcodeを使用しないでください。 – Yitzchak

+0

私の英語はすみません。それは最高ではありません。もちろん、私はXCodeを使用します。しかし、私は基本的なプロジェクトを持っています。この基本プロジェクトにプロバイダデータを付けることができます。このプロバイダのデータには、多くのもの(画像、jsons、色など)が暗黙に含まれています。このデータはリポジトリに保存されます。 私の基本プロジェクトは別のリポジトリにあります。私はアプリをアップロードするときに私は物事を一緒にボイルアを個別にアプリをマージします。 – kuzdu

0

私は問題を解決する...それは汚いですが、それは動作します。プロバイダのデータはそれらのいくつかを上書きする前に、私はシェルによって私のデータをきれいにマージプロセスで

cd goToPathWhereFilesAre 
echo "" > file1.json 
echo "" > file2.json 

だから私の参照は常に正しく、内容が空である、いずれかのプロバイダのデータは、それらを無効にしています。