Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
144
Help us understand the problem. What is going on with this article?
@paming

XCodeのBuild Settingsで、値が決まっていくルール

More than 5 years have passed since last update.

Build Settingsでの値の決まり方

Build Settingの値はどうやって決まっていくのか?Build Settingsを開いて"Levels"を見ると、どのレベルでどんな値になっていくのかを見る事が出来ます。

PAMEventBoard.xcworkspace_—_PAMEventBoard.xcodeproj_と_Kobito-14.png

iOS Default → (xcconfig)→Project→Target の順で、値を「上書き」し続ける形で値が決定していきます。

各Levelにて、値の設定が無ければ親の設定で上書きされています。しかし、何か設定をすると親の設定が消えてしまいます。その時は$(inherited)を追加して親の設定を明示的に継承します。

  • そのレベルでの設定無し→親の設定で上書き
  • そのレベルでの設定有り
    • $(inherited)が有る→$(inherited)を親の設定と置き換える
    • $(inherited)が無い→親の設定は消える

xcconfigファイルはどこで設定するのか?

xcconfigファイルはテキストファイルなので作るのは簡単です。
↓CocoaPodで生成されたxcconfigファイル

Pods.xcconfig
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/AFNetworking" "${PODS_ROOT}/Headers/DCIntrospect" "${PODS_ROOT}/Headers/TestFlightSDK"
LIBRARY_SEARCH_PATHS = "$(PODS_ROOT)/TestFligh
tSDK"
OTHER_LDFLAGS = -ObjC -lTestFlight -lz -framework CoreGraphics -framework MobileCoreServices -framework QuartzCore -framework Security -framework SystemConfiguration -framework UIKit
PODS_ROOT = ${SRCROOT}/Pods

しかし、ただ作ってプロジェクトに入れただけでは、Build Settingsには出てきません。この登録は、Project設定の中の"Info"→"Configurations"で行います。

PAMEventBoard.xcworkspace_—_PAMEventBoard.xcodeproj-2.png

なぜこんな事を調べてたのか

$(inherited)が、何を継承しているのかがよく分かってなかったからです。階層構造になってるプロジェクトでの親/子プロジェクトの設定を引き継ぐのかと思ってました。。。


144
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
paming
Android修行中

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
144
Help us understand the problem. What is going on with this article?