我有一個UIActivityViewController在Facebook/Twitter /電子郵件共享文本和圖像,但它只適用於iOS 6+ ..是否有可能拿起在設備上運行的iOS版本,並做一個IF語句以避免iOS 5崩潰?如果是iOS6,請執行以下代碼,否則請執行其他操作...?if iOS 6 [do this] else iOS 5 [do that]? - UIActivityViewController
-(void)shareMenu
{
NSString *textToShare = @"Text that will be shared";
UIImage *imageToShare = [UIImage imageNamed:@"share_picture.png"];
NSArray *itemsToShare = [[NSArray alloc] initWithObjects:textToShare, imageToShare, nil];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:itemsToShare applicationActivities:nil];
activityVC.excludedActivityTypes = [[NSArray alloc] initWithObjects: UIActivityTypePrint, UIActivityTypeCopyToPasteboard, UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll, UIActivityTypeMessage, UIActivityTypePostToWeibo, nil];
[self presentViewController:activityVC animated:YES completion:nil];
}
一般情況下(不是這個特例)我發現通常最好使用'respondsToSelector'來根據它支持的方法來確定我正在處理的iOS類的哪個版本。除此之外,這有助於記錄特定的依賴關係。 –