val*_*eru 12 xcode facebook objective-c ios
好吧这看起来像是重复但我已经解决了围绕这个问题的所有问题,我似乎仍然无法让这个为我的应用程序工作.
我已经按照Facebook Developer网站上的iOS教程进行了操作,并完成了以下操作:
版本:Lion上的XCode 4.3.2,iOS 5.1,Facebook iOS 4.1.1
所有这些和我仍然无法让Facebook在授权时将控制权返回给我的应用程序.它只是停留在Facebook上.
代码:(注意FB_APP_ID已更改为基本编号,可在此处查看)
AppDelegate.h:
#import <UIKit/UIKit.h>
#import "FBConnect.h"
#define FB_APP_ID @"1234567890"
@interface AppDelegate : UIResponder <UIApplicationDelegate, FBSessionDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (nonatomic, strong) Facebook* facebook;
@end
Run Code Online (Sandbox Code Playgroud)
AppDelegate.m:
#import "AppDelegate.h"
@implementation AppDelegate
@synthesize window = _window;
@synthesize facebook = _facebook;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
_facebook = [[Facebook alloc] initWithAppId:FB_APP_ID andDelegate:self];
if (![_facebook isSessionValid])
{
[_facebook authorize:nil];
}
}
- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL *)url
{
return [_facebook handleOpenURL:url];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [_facebook handleOpenURL:url];
}
- (void)fbDidLogin
{
NSLog(@"App logged in");
}
- (void)fbDidNotLogin:(BOOL)cancelled
{
NSLog(@"App did not login");
}
@end
Run Code Online (Sandbox Code Playgroud)
相关Info.plist porton:

Facebook App屏幕(大多数粉红色):

注意:我只使用基本设置尝试了它,并且还使用了具有虚假iTunes商店ID的iOS Native应用程序设置,但是我的配置文件中包含相同的包ID.
无论我做什么,它总是加载Facebook并要求授权我的应用程序,然后它只是关闭授权屏幕窗口,坐在我的Facebook屏幕上,而不是返回到我的应用程序.
另请注意:我知道它总会问,因为我没有检查身份验证令牌和到期日期.....这是下一步....现在我想至少让它返回我的应用程序之前我担心这一点.
我错过了什么吗?还有什么我可以尝试让Facebook回到我的应用程序?
编辑:同样在调试时,我似乎找不到任何因某种原因调用openURL的地方.
编辑#2:在模拟器上运行它时,它通过Safari加载FB对话框(如预期的那样)然后当我授权时,safari会抛出一个错误,好像他们试图用来回到我的应用程序的URL无效:

这仍然没有告诉我,因为我的fb1234567890设置正确,据我所知在Info.plist中.
SRa*_*zzo 19
您的info.plist似乎格式不正确
确保url方案嵌套在称为"URL Schemes"的项(确切的数组)下
此数组应包含可以启动您的应用的所有可能的URL方案
有关URL方案的更好说明,请参见附图
网址方案http://f.cl.ly/items/243G1D0H39151q472V1t/Screen%20Shot%202012-05-16%20at%206.52.06%20PM.png
此外,"URL标识符"应该是您的包标识符:ex.com.mycompany.myapp这应该与您在配置文件中提供的标识符相匹配
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
8812 次 |
| 最近记录: |