【问题标题】:Facebook iOS 3.7 FacebookAppIdFacebook iOS 3.7 FacebookAppId
【发布时间】:2013-09-10 12:36:31
【问题描述】:

我刚刚从 pkg 安装了适用于 Facebook 的 SDK 3.7。

我发现我需要为FacebookAppId 设置一个值。但是我有 2 个应用程序:一个用于测试,一个用于生产。

因为我需要支持调试和发布的变量,所以我使用了一个环境文件,它根据配置值确定值。 (调试或发布)

我如何“告诉”SDK 为每种发布类型使用相关版本,而无需在构建时手动更改它?

我没有签入源代码。只是编译好的。

有办法吗?

【问题讨论】:

  • 你能详细说明to use the relevant one for each release type, without changing it manually when building it?
  • 如果不手动更改,我认为您无法做到。
  • @Shadowfax 我的意思是,我将使用 enviornment.plist 进行调试和发布,并根据 facebook 知道的属性来选择正确的 FacebookAppId

标签: objective-c facebook facebook-ios-sdk


【解决方案1】:

你可以在这里使用预处理器宏..

如何使用它:

  1. 转到项目的构建设置。

  2. 搜索“预处理器宏”。在这里定义你的宏,例如 FBDebugAPPID 用于调试模式和 FBReleaseAPPID 用于发布模式。

  3. 用于覆盖默认 facebook AppId 的 FBSettings 类。

    然后在您的委托方法中添加以下代码..

    #if defined(FBDebugAPPID)
    **Use your debug app id**
    [FBSettings setDefaultAppID:@"DEBUGAPPId"]
    #elif defined(FBReleaseAPPID)
    **Use your release app id**
    [FBSettings setDefaultAppID:@"RELEASEAPPId"]
    #endif
    

希望它能解决你的问题..

【讨论】:

  • 我无法控制“FacebookAppId”,因为 Facebook 正在他们的源代码中寻找它
  • 您可以覆盖默认的 FacebookAppId 设置。 FBSettings 类为此提供了所需的方法。 1) + (void)setDefaultAppID:(NSString*)appID;// 用于覆盖 2) + (NSString*)defaultAppID; // 从 .plist 中获取默认 AppID。
  • 我会检查的!你能用 appDelgate 中的方法更新你的答案吗?
【解决方案2】:

您可以通过添加运行脚本构建阶段来更改您的 enviornment.plist 变量

在 Xcode 中添加运行脚本构建阶段

  1. 在项目中选择应用程序目标,然后选择“Build Phases”。
  2. 在菜单栏中,点击“Editor”,选择“Add Build Phase”,然后点击“Add Run Script Build Phase”。
  3. 您现在应该会在构建阶段选项的中间看到一个运行脚本部分,如上所示。
  4. 在运行脚本构建阶段的正文中,粘贴脚本。
#!/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

【讨论】:

    【解决方案3】:

    这里有一个更简单的方法,

    最近的 Xcode 项目模板已经为调试构建配置定义了一个 DEBUG=1 宏。

    你可以和#ifdef结合使用

    #ifdef DEBUG
        #define FACEBOOK_APP_ID                     @"FB_DEVELOPMENT_ID"
    
    #else
        #define FACEBOOK_APP_ID                     @"FB_PRODUCTION_ID"
    #endif
    

    【讨论】:

      猜你喜欢
      • 2013-03-11
      • 1970-01-01
      • 2013-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-01
      • 2011-08-10
      相关资源
      最近更新 更多