質問: いつもお世話になっております。 frameworkのパスについて教えてください。 グラフを表示するライブラリを探していまして、SwiftChartsというライブラリが良さそうだなと今シミュレーターで確認をしております。 github.comのサイトから「Download Zip」ボタンでファイル群をDLし、その中にあったテストサンプル(Examples)を実行することができました。 次に自身で作成したProjectに実装してみようとトライし、ビルドエラーに悪戦苦闘しながらもやっと実行させることができました。 そんな訳で今現在は問題が発生している訳ではないのですが、1点疑問に思い教えていただきたいことがあります。 DLした元のプロジェクトのProductsフォルダ内を確認すると「SwiftCharts.framework」があるのですが赤字になっています。 xcodeの右ペインに表示される「Full Path」は /Users/****/Library/Developer/Xcode/DerivedData/SwiftCharts-ccdnncunkcexsrdonamjtviaqzyy/Build/Products/Debug-iphoneos/SwiftCharts.framework となっていましたが、Debug-iphoneosフォルダは存在せず、 /Users/****/Library/Developer/Xcode/DerivedData/SwiftCharts-ccdnncunkcexsrdonamjtviaqzyy/Build/Products/Debug-iphonesimulator/SwiftCharts.framework が存在していました。 「Full Path」情報は誤っているのにimport文でエラーは起きず、 〜/Debug-iphonesimulator/SwiftCharts.frameworkをきちんと参照できているからかなと思うのですが、きちんと参照できているのは何故なのでしょうか?? 「Build Settings」の「Framework Search Paths」には何も設定されていませんでした。 お手数をおかけ致しますが、どうぞよろしくお願いいたします。
回答: プロジェクトのProductsグループに表示されているのは単にこのプロジェクトをビルドした時の最終的な成果物がこれである、という表示であって、これは個々のビルドに別に影響しません。 ビルド設定には関係がないので、赤い表示でもビルドできることを気にする必要はありません。 単に、成果物がまだビルドされていないということを示しているだけです。 そして、表示の都合上、あくまでも最終的な成果物は、デバイス向けの成果物なので、シミュレータ向けにビルドしても、赤い表示は解消されません。 シミュレータではなく、デバイス向けにビルド(デバイスを繋いでそれを選択するか、「Generic iOS Device」を選択)すると、`〜/Debug-iphoneos/〜`に成果物が生成されて、赤い表示が黒く変わるのがわかります。 !画像の説明をここに入力