如何将ios中的所有可共享应用列入白名单
问题描述:
我有一个iOS
应用程序,在此应用程序中,我想与社交媒体共享内容使用**UIActivityViewController**
但我想限制它仅限于某些应用程序。如何将ios中的所有可共享应用列入白名单
我想白名单/排除所有可共享的选项,例如如果我只想要Pinterest
和Facebook
那么在列表中这两个选项应该只在那里。我知道有一个选项可以排除所有不需要的选项,但它不可行。目前我正在这样做。
UIActivityViewController *ActivityView = [[UIActivityViewController alloc] initWithActivityItems:<#postItems> applicationActivities:Acts];
[ActivityView setExcludedActivityTypes:
@[UIActivityTypeCopyToPasteboard,
UIActivityTypePostToTwitter,
UIActivityTypeSaveToCameraRoll,
UIActivityTypePostToWeibo]];
是否可以将白名单列出?如果是的话我怎么能实现它?
希望问题很清楚。提前致谢。
答
取UIActivity
值的完整列表,并删除要共享的项目。将此代码放入其自己的方法中,将白名单作为参数。
static NSArray *activities = @[ ... list of all activities here ... ];
- (NSArray *)whitelist:(NSArray *)whitelist
{
NSMutableArray *mutableActivities = [activities mutableCopy];
[mutableActivities removeObjectsInArray:whitelist];
return [mutableActivities copy];
}
能否请您提供整体工作流程的代码,以及如何确定pinterest像没有内置UIActivity的应用程序。 – user2413621
我不知道。 – Avi