如何将ios中的所有可共享应用程序列入白名单

时间:2016-06-14 07:41:49

标签: ios objective-c uiactivityviewcontroller

我有iOS个应用程序,在此应用程序中,我希望使用**UIActivityViewController**与社交媒体分享内容,但我想将其限制为仅限某些应用。

我想将所有可共享的选项列入白名单/排除,例如如果我只想要PinterestFacebook那么在列表中这两个选项应该只存在。我知道可以选择排除所有不需要的选项,但这是不可行的。目前我这样做。

UIActivityViewController *ActivityView = [[UIActivityViewController alloc] initWithActivityItems:<#postItems>                                        applicationActivities:Acts];

[ActivityView setExcludedActivityTypes:
 @[UIActivityTypeCopyToPasteboard,
   UIActivityTypePostToTwitter,
   UIActivityTypeSaveToCameraRoll,
   UIActivityTypePostToWeibo]];

是否可以列入白名单?如果是的话我该如何实现呢?

希望问题很清楚。提前谢谢。

1 个答案:

答案 0 :(得分:0)

获取UIActivity值的完整列表,然后删除要共享的项目。将此代码放在自己的方法中,将白名单作为参数。

static NSArray *activities = @[ ... list of all activities here ... ];

- (NSArray *)whitelist:(NSArray *)whitelist
{
    NSMutableArray *mutableActivities = [activities mutableCopy];
    [mutableActivities removeObjectsInArray:whitelist];

    return [mutableActivities copy];
}