Ios iPhone应用程序拒绝17.2:应用程序要求用户使用其Facebook帐户登录

Ios iPhone应用程序拒绝17.2:应用程序要求用户使用其Facebook帐户登录,ios,iphone,facebook,login,appstore-approval,Ios,Iphone,Facebook,Login,Appstore Approval,我在这里按照本机iOS应用程序的登录说明操作 我在应用程序中的AppDelegate中拥有所有facebook内容:didFinishLaunchingWithOptions: facebook = [[Facebook alloc] initWithAppId:@"xyzabc" andDelegate:self]; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; if ([defaults objectFo

我在这里按照本机iOS应用程序的登录说明操作

我在应用程序中的AppDelegate中拥有所有facebook内容:didFinishLaunchingWithOptions:

facebook = [[Facebook alloc] initWithAppId:@"xyzabc" andDelegate:self];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

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


if (![facebook isSessionValid]) {
    NSArray *permissions = [[NSArray alloc] initWithObjects:
                            @"publish_stream", 
                            nil];
    [facebook authorize:permissions];

}
问题是我的应用程序打开了,我要求人们登录facebook才能使用我应用程序中的功能。苹果拒绝了我的说法,说Facebook功能应该是可选的,而不是强制的(列在拒绝理由17.2下)

我只是想知道我是否可以保留app delegate中的大部分内容,但是

    if (![facebook isSessionValid]) {
        NSArray *permissions = [[NSArray alloc] initWithObjects:
                                @"publish_stream", 
                                nil];
        [facebook authorize:permissions];
}
其他地方(比如当按下登录facebook按钮时)。如果是这样,facebook文档是否应该更新,这样就不会有其他人被拒绝?或者我错过了一些我可以在应用程序代理中保存的东西,但是调用其他东西使登录成为可选的


提前感谢您的帮助

为了解决这个问题,我将所有Facebook代码从-applicationdFinishLaunching移动到了一个自定义方法-createFBInstance,每当按下UIButton时,我都会从UIViewController调用该方法,因此,现在用户只在点击按钮时登录Facebook,应用程序工作得很好!只要确保只在委托中使用FBSessionDelegate中的方法,我就无法使它在任何其他类中工作。我还在应用程序内的web视图中打开了登录网页,因此看起来更漂亮。

当然会被拒绝。17.2说应用程序要求用户共享个人信息,如电子邮件地址和出生日期,
用户只有在拥有facebook帐户后才能使用您的应用程序。相反,我建议您保留它的可选性,如使用facebook/Google登录,并拥有自己的应用程序注册程序。

您的应用程序发布到facebook的唯一目的是什么?如果没有,像我这样没有Facebook帐户的人将无法使用非Facebook部分,如果您强制登录。只有当有人访问基于Facebook的功能时,你才应该提示登录Facebook。在此之前,所有其他功能都应该可以访问。不,我的应用程序除了发布到Facebook之外还有其他功能。我也不喜欢用户被迫登录facebook,所以我完全理解拒绝。我想我是按照指示做的,facebook一定希望这样登录。我只是想知道其他人是如何让登录成为可选的,因为说明似乎没有显示这一点。我也想在这里引起大家的注意,以帮助其他人。我同意facebook应该是可选的。我帖子的要点是,我遵循了说明,我的应用被拒绝了。(评论继续)说明的编写方式似乎使facebook不再是可选的。因此,我发布了1)看看我在说明中是否遗漏了什么,2)让人们认识到说明可能不准确,可能导致拒绝帮助他人,3)看看其他人对处理facebook登录的最佳方式的看法。这有助于发帖子并获得更多分数,因为我是新手:)谢谢你的帮助。。。有人告诉过你,你长得像史蒂夫·乔布斯吗?;-)是 啊在他上天堂之前,他任命我帮助iOS开发人员谢谢这正是我要找的!