小编Rog*_*oli的帖子

Facebook iOS SDK不返回用户电子邮件

我试图访问一些用户的信息,包括电子邮件.为此,我使用Graph API来调用此方法:

[facebook requestWithGraphPath:@"me" andDelegate:self];
Run Code Online (Sandbox Code Playgroud)

它返回用户信息,没有电子邮件信息(生日也缺失).我设置了所有权限并使用多个帐户(其中包含电子邮件和生日作为公共信息)进行了测试,并接受了所有对话框的请求.

这是我的初始:

if(!facebook) {
    facebook = [[Facebook alloc] initWithAppId:[self _APP_KEY] andDelegate:self];
    NSArray *array =  [NSArray arrayWithObjects: @"email", @"user_birthday", @"publish_stream", @"offline_access", nil];
    [self setPermissions:array];
}

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"] && [defaults objectForKey:@"FBExpirationDateKey"]) {
    facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
    facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}

if (![facebook isSessionValid]) {
    [facebook authorize:permissions];
} 
else {
    [self getUserInfo];
}
Run Code Online (Sandbox Code Playgroud)

登录回调:

- (void)fbDidLogin {
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
    [defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
    [defaults …
Run Code Online (Sandbox Code Playgroud)

email iphone sdk facebook ios

7
推荐指数
1
解决办法
9096
查看次数

iOS 5中的协议和分配属性

我正在尝试在iOS 5中创建自己的自定义代理.在iOS 4中,我通常使用'Assign'属性:

@property(nonatomic, assign) id<AnyProtocol> delegate;
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试合成时,我收到以下错误消息:

error: Automatic Reference Counting Issue: Existing ivar 'delegate' for unsafe_unretained property 'delegate' must be __unsafe_unretained
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

iphone xcode ios xcode4 ios5

4
推荐指数
1
解决办法
4092
查看次数

标签 统计

ios ×2

iphone ×2

email ×1

facebook ×1

ios5 ×1

sdk ×1

xcode ×1

xcode4 ×1