ios 什么时候自动截屏?
When is ios auto screen capture taken?
我正在尝试更改应用程序进入后台时 iOS 自动捕获的屏幕截图。
但是我不能完全确定这张截图是什么时候拍的。
例如:
如果您在应用程序中下拉通知栏,将调用以下方法:
- (void) applicationWillResignActive:(UIApplication *) application {
}
此外,如果您在应用程序中双击主页按钮,则会调用相同的方法。此外,如果显示警报视图,则调用 'applicationWillResignActive'。
但在这两种情况下
- (void) applicationDidEnterBackground:(UIApplication *) application {
}
未调用。
所以我的问题是,即使应用程序没有进入后台,调用applicationWillResignActive后是否有截图?还是 iOS 仅在 applicationDidEnterBackground 后截屏?
可以看一下here,总之,从applicationDidEnterBackground:
更改return之前的view
是的。
- (void) applicationWillResignActive:(UIApplication *) application {
}
当您下拉通知栏甚至双击主页按钮时调用。你必须在这里做一些事情来防止你的敏感信息被 OS 捕获。一种解决方法可能是:
- 在应用程序进入后台之前设置模糊的屏幕覆盖
- 应用程序激活后删除此叠加层
像这样:
-(void)applicationWillResignActive:(UIApplication *)application
{
imageView = [[UIImageView alloc]initWithFrame:[self.window frame]];
[imageView setImage:[UIImage imageNamed:@"blurryImage.png"]];
[self.window addSubview:imageView];
}
然后在应用程序进入前台之前删除此叠加层:
- (void)applicationDidBecomeActive:(UIApplication *)application
{
if(imageView != nil) {
[imageView removeFromSuperview];
imageView = nil;
}
}
查看官方文档 - "Preventing Sensitive Information From Appearing In The Task Switcher".
它说 applicationDidEnterBackground:
应该用于上述目的。
当您下拉通知栏甚至双击主页按钮时调用。你必须在这里做一些事情来防止你的敏感信息被 OS 捕获。一种解决方法可能是:
在应用程序进入后台之前设置模糊的屏幕覆盖
一旦应用程序激活,移除此叠加层
我正在尝试更改应用程序进入后台时 iOS 自动捕获的屏幕截图。
但是我不能完全确定这张截图是什么时候拍的。
例如:
如果您在应用程序中下拉通知栏,将调用以下方法:
- (void) applicationWillResignActive:(UIApplication *) application {
}
此外,如果您在应用程序中双击主页按钮,则会调用相同的方法。此外,如果显示警报视图,则调用 'applicationWillResignActive'。
但在这两种情况下
- (void) applicationDidEnterBackground:(UIApplication *) application {
}
未调用。
所以我的问题是,即使应用程序没有进入后台,调用applicationWillResignActive后是否有截图?还是 iOS 仅在 applicationDidEnterBackground 后截屏?
可以看一下here,总之,从applicationDidEnterBackground:
更改return之前的view是的。
- (void) applicationWillResignActive:(UIApplication *) application {
}
当您下拉通知栏甚至双击主页按钮时调用。你必须在这里做一些事情来防止你的敏感信息被 OS 捕获。一种解决方法可能是:
- 在应用程序进入后台之前设置模糊的屏幕覆盖
- 应用程序激活后删除此叠加层
像这样:
-(void)applicationWillResignActive:(UIApplication *)application
{
imageView = [[UIImageView alloc]initWithFrame:[self.window frame]];
[imageView setImage:[UIImage imageNamed:@"blurryImage.png"]];
[self.window addSubview:imageView];
}
然后在应用程序进入前台之前删除此叠加层:
- (void)applicationDidBecomeActive:(UIApplication *)application
{
if(imageView != nil) {
[imageView removeFromSuperview];
imageView = nil;
}
}
查看官方文档 - "Preventing Sensitive Information From Appearing In The Task Switcher".
它说 applicationDidEnterBackground:
应该用于上述目的。
当您下拉通知栏甚至双击主页按钮时调用。你必须在这里做一些事情来防止你的敏感信息被 OS 捕获。一种解决方法可能是:
在应用程序进入后台之前设置模糊的屏幕覆盖 一旦应用程序激活,移除此叠加层