0

我有一些秘密需要在我的应用程序中共享,并且想采用 iOS 10 中新增的“隐形墨水”功能。

在此处输入图像描述 https://youtu.be/n5jXg_NNiCA?t=1h27m30s

由于我正在创建一个全新的应用程序(第 1 版),我认为这种视觉一致性元素包含在我的应用程序中是一件好事。

隐形墨水 UX 是否可供开发人员使用?

4

1 回答 1

2

首先,隐形墨水视图位于私有框架内,使用私有框架会导致您的应用在 App Store 审核过程中被拒绝。尽管如此,为了社区的利益,这里是你的答案(很抱歉我在 Obj-C 中得到了它,我会尝试稍后再回来将它更新到 Swift):

您需要使用 dlopen 在您的应用程序中手动加载 ChatKit 框架:

dlopen("/System/Library/PrivateFrameworks/ChatKit.framework/ChatKit", RTLD_LAZY);
// or use RTLD_NOW if you need it loaded immediately

然后,使用 NSClassFromString 实例化一个 CKInvisibleInkImageEffectView:

id invisibleInk = [[NSClassFromString(@"CKInvisibleInkImageEffectView") alloc] initWithFrame: yourFrame];
[invisibleInk performSelector:@selector(setImage:) withObject: yourUIImage];
//You likely want to put the InvisibleInkView right over an UIImageView containing the very same image

那应该对你有用。请记住在您想要使用的任何地方实际添加 InvisibleInk 视图yourView.addSubview(invisibleInk),并玩得开心。

于 2017-06-07T13:34:44.717 回答