新しいSDKには実際には6が必要です。
エラーの原因はわかりませんが、ビルドの問題を解消するために、ビルドフォルダーをクリーンアップし、プロジェクトから派生データを削除し、Facebookライブラリを削除して再度追加しました。
次に、これがiOS 6より前の状況で爆発するのを防ぐために、これをアプリに追加しました。
+ (BOOL)isSocialFrameworkAvailable
{
static BOOL available = NO;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
available = NSClassFromString(@"SLComposeViewController") != nil;
});
return available;
}
- (BOOL)application: (UIApplication *) application didFinishLaunchingWithOptions: (NSDictionary *) launchOptions
{
// [...]
if ([[self class] isSocialFrameworkAvailable]) {
[FBSettings setLoggingBehavior:[NSSet setWithObjects:
FBLoggingBehaviorFBRequests,
FBLoggingBehaviorFBURLConnections,
FBLoggingBehaviorAccessTokens,
FBLoggingBehaviorPerformanceCharacteristics,
FBLoggingBehaviorSessionStateTransitions,
nil]];
NSDate *facebookIdPublishedDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"facebookIdPublishedDate"];
if (!facebookIdPublishedDate) {
[[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"facebookIdPublishedDate"];
[FBSettings publishInstall:@"XXXXXXXXXXXXXXXX"];
}
}
// [...]
}