我有一个使用SSO和Facebook的iOS应用程序,作为让你的应用程序与Facebook的SSO一起工作的一部分,你必须在info.plist中指定FacebookAppId和回调网址.我有2个不同的Facebook组,一个用于测试,一个用于生产.我希望能够根据预处理程序指令设置上面指定的两个键的值.
在我的MessageBomb-Prefix.pch中,我有以下,工作正常:
#ifdef TEST
//Development environments
#define PARSE_APP_ID "dev parse app id"
#define PARSE_CLIENT_ID "dev parse client id"
#define FB_APP_ID "dev facebook id"
#else
//Production environments
#define PARSE_APP_ID "prod parse app id"
#define PARSE_CLIENT_ID "prod parse client id"
#define FB_APP_ID "prod facebook id"
#endif
Run Code Online (Sandbox Code Playgroud)
但是在我的info.plist中,我已经完成了以下操作,但它似乎不起作用:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>fb${FB_APP_ID}</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>${FB_APP_ID}</string>
Run Code Online (Sandbox Code Playgroud)
甚至可以做我想做的事情.我已将项目设置为预处理info.plist.
谢谢彼得
所以我认为这应该是非常容易的但是经过一天的谷歌搜索和玩游戏后我仍然无法让这个工作.我有一个私人cocoapod从私人git存储库下载代码.这一切都设置好了.
我正在努力的是我需要在cocoapod中包含本地化的xib.我有一个LoginView,它是我们许多内部应用程序的共享代码.但是,我们有本地化版本的视图.由于cocoapods扁平化结构的方式,我只能复制本地化的xib,导致*.lproj目录丢失.当我尝试使用cocoapod时,无论设备上的语言设置如何,它似乎都会拾取第一个xib.
我希望有人可以指导我如何保留文件夹heirachy,或者是否有另一种方法将本地化的xib包含在cocoapod中.
#
# Be sure to run `pod lib lint NAME.podspec' to ensure this is a
# valid spec and remove all comments before submitting the spec.
#
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
#
Pod::Spec.new do |s|
s.name = "ios-XX-common"
s.version = "1.0"
s.summary = "XXXXXX"
s.description = "Pod containing common source code used across multiple apps"
s.homepage = "http://www.example.com"
s.license = 'Copyright'
s.author = { xxx }
s.source = { :git => "xxxx:/data/git/ios-xx-common.git", …Run Code Online (Sandbox Code Playgroud)