【发布时间】:2011-12-14 17:28:06
【问题描述】:
嘿,我正在尝试从 Facebook IOS SDK(2011 年 10 月)创建一个我自己的类,我可以在其中创建我需要的所有方法和函数,并将这个类导入我的任何应用程序视图控制器并调用它。 所以这样我就不需要对我使用 facebook 的控制器进行所有初始化和委托。 所以我想这样做,[myfacebookclass initwithappID:myappid] [myfacebookclass postmessage:@"some message"];
问题是当我在 facebook.m (原始类)中设置 authorizeWithFBAppAuth:YES safariAuth:YES 标志并且我做一个 postmessage 它在 Facebook 应用程序或 Safari 上重定向我并检查权限时,我点击确定然后重定向我在我的应用程序中并且不发布消息。
当我尝试发布消息时,我会这样做:
这是在我自己的 facebook 课程中
myfacebookclass *facebook2;
+(void)initWithAppID:(NSString*) facebookAppId {
if (facebook2 == nil) {
facebook2 = [myfacebookclass new];
[facebook2 setWithAppId:facebookAppId];
}
}
- (void) postMessage1:(NSString *)messageToPost {
if ([self.facebook isSessionValid]) {
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
self.applicationID, @"api_key",
messageToPost, @"message",
nil];
[self.facebook requestWithGraphPath:@"me/feed" andParams:params andHttpMethod:@"POST" andDelegate:self];
} else {
NSArray * neededPermissions = [[[NSArray alloc] initWithObjects:@"user_about_me", @"publish_stream", nil] autorelease];
[self.facebook authorize:neededPermissions];
}
}
+ (void)postMessage:(NSString*) message {
[facebook2 postMessage1:message];
}
我也实现了:
- (BOOL)应用程序:(UIApplication *)应用程序 openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication 注解:(id)注解 { 返回 [facebook handleOpenURL:url]; }
我没有修改 facebook.m 或 Facebook IOS SDK 中的其他类。
【问题讨论】:
-
这不是我的全部课程,只是一些方法,我在这里实现了link的所有步骤