我正在使用UIActivityViewController在一些iOS应用程序中显示共享表. iOS 7引入了一种新型的UIActivity:UIActivityTypeAirDrop.
这在UIActivity.h文件中被声明为extern字符串…基本上我试图从我的共享表中排除空投类型,这一切都运行正常,但是这个代码集需要向后兼容以前版本的iOS.
我知道要检查一个方法,我可以使用respondsToSelector:但有没有类似的方法我可以用来检查字符串是否被声明,或者我应该采用开启系统版本? (这绝不是一个正常的好方法)
解决方法
UIActivityTypeAirDrop是一个NSString常量,它本质上是一个指针,因此您可以检查该指针是否为NULL.如果不是,则存在此活动类型,您可以将其排除.否则就什么都不做.
if (&UIActivityTypeAirDrop != NULL) { activityViewController.excludedActivityTypes = @[UIActivityTypeAirDrop]; }