我在这里遵循了我的原生 iOS 应用程序的登录说明https://developers.facebook.com/docs/mobile/ios/build/
我在应用程序中的 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 下列出)。
我只是想知道我是否可以将大部分内容保留在应用程序委托中,但是将
if (![facebook isSessionValid]) {
NSArray *permissions = [[NSArray alloc] initWithObjects:
@"publish_stream",
nil];
[facebook authorize:permissions];
}
其他地方(比如按下登录 facebook 按钮时)。如果是这种情况,是否应该更新 facebook 文档,以免其他人被拒绝?或者,也许我错过了可以将其保留在应用程序委托中的某些内容,但调用其他内容以使登录成为可选?
在此先感谢您的帮助!