不可能使用生产库进行调试.并且同样不可能使用调试库.在生产中.
为了解决这个问题,我们在项目中设置了多个目标(一个用于调试,一个用于生产).这些目标使用单独的.xcconfig文件(App-DeBUG.xcconfig和App-Production.xcconfig)来定义:liBRARY_SEARCH_PATHS,header_SEARCH_PATHS& OTHER_LDFLAGS为每个目标.
这一切都很好,但是手动跟踪我们所有的第三方依赖是一件很痛苦的事情.
因此,我们决定开始使用CocoaPods来管理我们的第三方依赖关系.
但是由于这些“两个版本”的库,我们不能按照预期的方式使用Pods.xcconfig,而是需要将其设置附加到我们自己的App-DeBUG.xcconfig和App-Production.xcconfig中.
我不确定正确的方法来做到这一点,因为我尝试的一切,似乎没有编译,因为我的荚无法找到.
我们的Pods.xcconfig:
ALWAYS_SEARCH_USER_PATHS = YESheader_SEARCH_PATHS = ${PODS_headerS_SEARCH_PATHS}liBRARY_SEARCH_PATHS = "$(PODS_ROOT)/TestFlightSDK"OTHER_LDFLAGS = -ObjC -lTestFlight -lz -framework SystemConfiguration -framework UIKitPODS_BUILD_headerS_SEARCH_PATHS = "${PODS_ROOT}/Buildheaders" "${PODS_ROOT}/Buildheaders/AFNetworking" "${PODS_ROOT}/Buildheaders/TestFlightSDK"PODS_headerS_SEARCH_PATHS = ${PODS_PUBliC_headerS_SEARCH_PATHS}PODS_PUBliC_headerS_SEARCH_PATHS = "${PODS_ROOT}/headers" "${PODS_ROOT}/headers/AFNetworking" "${PODS_ROOT}/headers/TestFlightSDK"PODS_ROOT = ${SRCROOT}/Pods
APP-DeBUG.xcconfig:
#include "Config-XXX.xcconfig"#include "Config-Tesseract.xcconfig"#include "Config-AppMeasurement.xcconfig"#include "Config-libxml2.xcconfig"#include "Config-Frameworks.xcconfig"liBRARY_SEARCH_PATHS = $(inherited) $(XXX_liBRARY_SEARCH_PATH_DEBUG) $(TESSERACT_liBRARY_SEARCH_PATH) $(APPMEASUREMENT_liBRARY_SEARCH_PATH)header_SEARCH_PATHS = $(inherited) $(TESSERACT_header_SEARCH_PATH) $(liBXML2_header_SEARCH_PATH) $(XXX_header_SEARCH_PATH)OTHER_LDFLAGS = $(inherited) -lz -lxml2 -lstdc++ -all_load -ObjC -lXXXlibrary $(APPLE_FRAMEWORKS)
APP-Production.xcconfig:
#include "Config-XXX.xcconfig"#include "Config-Tesseract.xcconfig"#include "Config-AppMeasurement.xcconfig"#include "Config-libxml2.xcconfig"#include "Config-Frameworks.xcconfig"liBRARY_SEARCH_PATHS = $(inherited) $(XXX_liBRARY_SEARCH_PATH_PRODUCTION) $(TESSERACT_liBRARY_SEARCH_PATH) $(APPMEASUREMENT_liBRARY_SEARCH_PATH)header_SEARCH_PATHS = $(inherited) $(TESSERACT_header_SEARCH_PATH) $(liBXML2_header_SEARCH_PATH) $(XXX_header_SEARCH_PATH)OTHER_LDFLAGS = $(inherited) -lz -lxml2 -lstdc++ -all_load -ObjC -lXXXlibrary $(APPLE_FRAMEWORKS)
配置-XXX.xcconfig:
XXX_liBRARY_SEARCH_PATH_DEBUG = "$(SRCROOT)/External/XXX"XXX_liBRARY_SEARCH_PATH_PRODUCTION = "$(SRCROOT)/External/XXX/libProd"XXX_header_SEARCH_PATH = "$(SRCROOT)/External/XXX/headers"
我们可以看到Pods.xcconfig和我们自己的App-DeBUG.xcconfig都设置了:liBRARY_SEARCH_PATHS,header_SEARCH_PATHS& OTHER_LDFLAGS.
我需要的是将Pods.xcconfig中声明的值附加到我们在App-DeBUG.xcconfig中声明的值.
我们正在使用Xcode 4.6和为iOS 4.3构建.
解决方法 你的podfile可以支持这个.你应该最终得到这样的东西platform :ios,"5.0"link_with ['App','App-DeBUG'] pod 'Shared-Pod'target :App,:exclusive => true do pod 'normal-Pod'endtarget :App-DeBUG,:exclusive => true do pod 'DeBUG-Pod'end
这将生成两个xcconfig文件,每个目标一个.
总结以上是内存溢出为你收集整理的ios – 具有多个.xcconfig文件和可可插件的复杂Xcode项目全部内容,希望文章能够帮你解决ios – 具有多个.xcconfig文件和可可插件的复杂Xcode项目所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)