我刚从pkg安装SDK 3.7 for Facebook。
我发现我需要为FacebookAppId
添加一个值。但是我有2个应用程序:一个用于测试,一个用于生产。
由于我需要支持Debug和Release的变量,我使用的是一个Environment文件,它根据配置值确定值。 (调试或发布)
如何“告诉”SDK为每种版本类型使用相关的版本,而不是在构建它时手动更改它?
我没有检查源代码。只是编译好的。
有办法吗?
答案 0 :(得分:1)
您可以在此处使用预处理器宏..
如何使用它:
FBSettings类用于覆盖默认的facebook AppId。
然后在你的委托方法中添加以下代码..
#if defined(FBDebugAPPID)
**Use your debug app id**
[FBSettings setDefaultAppID:@"DEBUGAPPId"]
#elif defined(FBReleaseAPPID)
**Use your release app id**
[FBSettings setDefaultAppID:@"RELEASEAPPId"]
#endif
希望它能解决你的问题..
答案 1 :(得分:0)
您可以通过添加运行脚本构建阶段
来更改enviornment.plist变量在Xcode中添加运行脚本构建阶段
#!/bin/bash
if [ "${CONFIGURATION}" = "Release" ]; then
/usr/libexec/PlistBuddy -c "Set :FacebookAppID 321" "$INFOPLIST_FILE"
else
/usr/libexec/PlistBuddy -c "Set :FacebookAppID 321" "$INFOPLIST_FILE"
fi
答案 2 :(得分:0)
这是一种更简单的方法,
最近的Xcode项目模板已经为Debug构建配置定义了一个DEBUG = 1宏。
您可以将其与#ifdef
#ifdef DEBUG
#define FACEBOOK_APP_ID @"FB_DEVELOPMENT_ID"
#else
#define FACEBOOK_APP_ID @"FB_PRODUCTION_ID"
#endif