Social
フレームワーク ( )はSLComposeViewController
iOS 6 でのみ導入されました。iOS 5 では、ソーシャル ネットワークへの唯一のネイティブ接続は Twitter とTWTweetComposeViewController
クラスでした。iOS 6 では、Social
既存の Twitter サポートと新しい Facebook および Sina Weibo の統合を備えたフレームワークが導入されました。
したがって、iOS 5 では、実際には への参照や呼び出しを行うことはできませんSLComposeViewController
。条件を使用して、ユーザーのデバイスが実行されているバージョン (iOS 5 または 6) を確認してから、操作/条件を作成する必要があります。
このコードif ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
は、ユーザーが設定アプリケーションで Facebook アカウントをセットアップしているかどうかを確認するために使用されます。
はい、Twitter
iOS 5 との互換性のためにフレームワークを追加しSocial
ます。ところで、フレームワークがオプションに設定されていることを確認してください。
デバイスが実行しているバージョンを確認するには、これをMyApp-Prefix.pch
ファイルに追加します。
#define SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
#define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)
次に、プレフィックス ファイルがすべてのクラスに自動的にインポートされるため、任意のクラスで使用できます。
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"5.0") && SYSTEM_VERSION_LESS_THAN(@"6.0")) {
NSLog(@"This is called when device is running iOS 5, 5.0.1, 5.1 etc.");
}
else if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6.0")) {
NSLog(@"iOS 6.0, 6.0.1, 6.0.2, 6.1 etc.");
}