【发布时间】:2015-08-10 20:16:05
【问题描述】:
我有一个 XCode 项目,Unity-iPhone,它配置了一个 Podfile,
platform :ios
target 'Unity-iPhone' do
pod 'GooglePlayGames', '~> 4.4'
end
target 'Unity-iPhone Tests' do
end
以及与Unity-iPhone 相邻的Pods 项目的所有内容,甚至Unity-iPhone 项目似乎 设置正确。
Unity-iPhone里面有个子文件夹Pods,里面有debug和release配置文件,配置基本一样,
FRAMEWORK_SEARCH_PATHS = "$(PODS_ROOT)/GooglePlayGames/gpg-cpp-sdk/ios" "$(PODS_ROOT)/google-plus-ios-sdk/google-plus-ios-sdk-1.7.1" "$(PODS_ROOT)/google-plus-ios-sdk/google-plus-ios-sdk-1.7.1"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/GooglePlayGames" "${PODS_ROOT}/Headers/Public/GooglePlayGames/gpg" "${PODS_ROOT}/Headers/Public/google-plus-ios-sdk" "${PODS_ROOT}/Headers/Public/google-plus-ios-sdk/GoogleOpenSource" "${PODS_ROOT}/Headers/Public/google-plus-ios-sdk/GooglePlus"
OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/GooglePlayGames" -isystem "${PODS_ROOT}/Headers/Public/GooglePlayGames/gpg" -isystem "${PODS_ROOT}/Headers/Public/google-plus-ios-sdk" -isystem "${PODS_ROOT}/Headers/Public/google-plus-ios-sdk/GoogleOpenSource" -isystem "${PODS_ROOT}/Headers/Public/google-plus-ios-sdk/GooglePlus"
OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"z" -framework "AddressBook" -framework "AssetsLibrary" -framework "CoreData" -framework "CoreGraphics" -framework "CoreLocation" -framework "CoreMotion" -framework "CoreTelephony" -framework "CoreText" -framework "Foundation" -framework "GoogleOpenSource" -framework "GooglePlus" -framework "MediaPlayer" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "gpg"
PODS_ROOT = ${SRCROOT}/Pods
这看起来完全正确。这些配置从项目设置中正确链接,但是当我尝试构建时,根本没有对gpg 的引用(gpg 是链接期间需要的二进制文件),并且构建失败,所有对声明的引用来自显然失败了。
如果我在构建设置中手动编辑必要的框架,并添加gpg,构建工作,所以框架路径,然后在此之前,标题路径都很好。但是 pod 配置文件中的 OTHER_LDFLAGS 配置只是被忽略/最初从未包含。
老实说,我不能 100% 确定任何配置文件是否真的有效,因为我对它们组合在一起的确切方式相当不熟悉。
【问题讨论】:
标签: ios xcode cocoapods google-play-games