Facebook iOS SDK 4.2:多个应用程序环境的无效URL方案

时间:2015-06-29 03:05:36

标签: ios facebook facebook-login facebook-ios-sdk url-scheme

我需要为echo json_encode(new Array(exists => file_exists(filePath + $_POST['filename])); $.ajax({ url:'http://MyUrl/fileexists.php', // new route type:'POST', // post data data: { filename: 'new.wav' }, // data to post dataType: 'json', // returned data type error: function() { //file not exists }, success: function(resp) { //file exists? console.log('file with that name exists exists?' + resp.exists); } }); 版本使用相同的Facebook App ID。我已在我的应用staging文件中定义了URL方案后缀,并使用所需的Bundle ID和URL方案配置了信息中心,完全遵循sharing an app ID across Apps doc。

信息中心的网址方案后缀:

enter image description here

应用-Info.plist中:

enter image description here

问题是,我能够在我的production版本上正确登录Facebook,但当我尝试登录.plist版本时,它会崩溃并在以下版本中断:

enter image description here

我已经尝试了一些几乎相似的解决方案,但它们都不适用于我。有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:3)

解决了。事实证明,我只能为每个方案定义一个FB URL方案。我也忘了定义FacebookURLSchemeSuffix。所以,我所做的是,我使用用户定义的设置在stagingproduction版本之间切换。我就是这样做的。

  1. 转到Targets > Build Setttings并添加user-defined setting
  2. enter image description here

    然后,我将FB_SCHEME版本的用户定义值(staging)设置为staging,反之亦然。

    1. 在我的App-info.plist文件中。我将FacebookURLSchemeSuffixURL scheme设置为以下内容:
    2. enter image description here enter image description here

      现在,每当我在方案之间切换时,它会将${FB_SCHEME}的值设置为productionstaging。就是这样。