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:@[]];