iOS基础·OC高级篇iOS常用iOS高级开发

ios14一直弹出粘贴(解决方案)

2020-09-24  本文已影响0人  超级卡布达

原因在UIPasteboard获取粘贴板的类,有的第三方SDK用到了UIPasteboard读取iOS系统的粘贴板内容,所以iOS14此次更新是让用户知晓,此APP读取了你的粘贴板内容,并在读取的时候展示了出来。在iOS14以下APP也是可以读取粘贴板内容的,只是用户看不到。
解决方案:
在APP中将UIPasteboard重新设置个空字符串

 [[UIPasteboard generalPasteboard] setString:@""];

当然了只是在APP中清空而已,外面的粘贴板还是不会变的。

可以在应用程序启动时设置。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    [[UIPasteboard generalPasteboard] setString:@""];
    return YES;
}

如果你的APP在进入后台也会弹的话,也可在重新进入后台是在设置一次

- (void)applicationWillResignActive:(UIApplication *)application
{
        [[UIPasteboard generalPasteboard] setString:@""];
}

这样的话你的应用就读取不到粘贴板啦
当然粘贴板不止字符串一种类型,不过一般情况都是copy字符串类型的。如果需要也可以重新设置下其他类型


image.png

重新设置其他类型

[[UIPasteboard generalPasteboard] setItems:@[]];
[[UIPasteboard generalPasteboard] setObjects:@[]];
[[UIPasteboard generalPasteboard] setColors:@[]];
[[UIPasteboard generalPasteboard] setStrings:@[]];
[[UIPasteboard generalPasteboard] setImages:@[]];
[[UIPasteboard generalPasteboard] setURLs:@[]];
上一篇下一篇

猜你喜欢

热点阅读