从使用iOS 6 SDK构建的应用程序中排除AirDrop和添加到阅读列表

问题描述:

我在iOS 6应用程序中有UIActivityViewController,我推送更新,但我还没有使用iOS 7 SDK编译它。从使用iOS 6 SDK构建的应用程序中排除AirDrop和添加到阅读列表

有没有什么办法可以禁用iOS7中我的UIActivityViewController中的添加到阅读列表和AirDrop,而无需使用iOS 7 SDK进行重新编译?

excludedActivityTypes是iOS 6.0及以上版本的有效属性,所以你可以利用它。你需要的常量(UIActivityTypeAddToReadingListUIActivityTypeAirDrop)不可用,所以你可以做的是使用它们的字面值(最可能与变量名相同),直到你用iOS 7 SDK重新编译(我建议你这样做。苹果公司可能会改变一个常数值,但使用变量而不是字面值更好的编程习惯)。我想这些值在iOS 6.x中将被忽略,并且不会引起任何问题,因为任何UIActivity都可以定义自己的名称,因此系统无法验证给定的类型。它很可能会将它们添加到内部忽略列表中。

+3

感谢borrrden,它的工作原理。对于任何人想知道这些符号的字符串值是多少:'@“com.apple.UIKit.activity.AirDrop”'和'@“com.apple.UIKit.activity.AddToReadingList”'。 –

+0

@ Enrico Susatyo 这种方法是合法的,如果我申请,苹果是拒绝的应用程序或不。 @“com.apple.UIKit.activity.AirDrop”and @“com.apple.UIKit.activity.AddToReadingList” –

+0

@iOSDev Yup,我的应用程序已在几个星期前被批准。 –