解決策が見つかりました。これは最もクリーンではありませんが、機能しています。
注:FacebookSDK3.2以降用に更新されました
- (void)postAsFanPageWithToken:(NSString *)aFanPageToken {
if (self.selectedFanPage == nil) {
self.userAccessToken = [FBSession activeSession].accessTokenData.accessToken;
}
//Using KVC, since it is a readonly property
[[FBSession activeSession].accessTokenData setValue:aFanPageToken forKey:@"accessToken"];
}
- (void)postAsMe {
if (self.userAccessToken == nil) {
return; //Already posting as me
}
[[FBSession activeSession].accessTokenData setValue:self.userAccessToken forKey:@"accessToken"];
self.userAccessToken = nil;
}
// Make sure you cleanup on logout
- (void)logout {
self.userAccessToken = nil;
[[FBSession activeSession] closeAndClearTokenInformation];
}