在 applicationDidEnterBackground 之前显示视图或启动屏幕(以避免活动视图屏幕截图)

2023-12-02

我的应用程序中有机密信息,因此我想在应用程序即将移至后台时使用启动屏幕隐藏它们。

我确实在 iOS6 及更高版本上运行该应用程序。

我尝试在中显示视图applicationWillResignActive但问题是,即使用户滑动控制面板,它也会显示启动屏幕。我希望它仅在应用程序移至后台时显示。

我试图在中显示我的闪屏applicationDidEnterBackground但它需要之前的屏幕截图,因此在动画期间恢复时会显示信息。

这是我想要的精神:

- (void)applicationDidEnterBackground:(UIApplication *)application {
    [_window addSubview:__splashController.view];
}

我认为问题是你正在测试模拟器。在设备上,它应该可以正常工作。

我测试了这个并且它有效。当应用程序进入后台时,添加带有启动图像的图像视图 -

- (void)applicationDidEnterBackground:(UIApplication *)application
{

        UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.window.bounds];

        imageView.tag = 101;    // Give some decent tagvalue or keep a reference of imageView in self
    //    imageView.backgroundColor = [UIColor redColor];
        [imageView setImage:[UIImage imageNamed:@"Default.png"]];   // assuming Default.png is your splash image's name

        [UIApplication.sharedApplication.keyWindow.subviews.lastObject addSubview:imageView];
}

当应用程序返回前台时 -

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    UIImageView *imageView = (UIImageView *)[UIApplication.sharedApplication.keyWindow.subviews.lastObject viewWithTag:101];   // search by the same tag value
    [imageView removeFromSuperview];

}

注意 - 在模拟器(iOS 7.0)上,当您按两次主页按钮(Cmd + H)进行检查时,添加的子视图不会显示,但在设备上它会按预期工作(例如paypal, BofA apps)

编辑:(附加信息)

除了如上所述通过添加子视图/模糊来模糊/替换敏感信息之外,iOS 7使您能够通过以下方式忽略屏幕快照ignoreSnapshotOnNextApplicationLaunch of UIApplication inside applicationWillResignActive or applicationDidEnterBackground.

UIApplication.h

// Indicate the application should not use the snapshot on next launch, even if there is a valid state restoration archive.
// This should only be called from methods invoked from State Preservation, else it is ignored.
- (void)ignoreSnapshotOnNextApplicationLaunch NS_AVAILABLE_IOS(7_0);

Also, allowScreenShot可以探索标志限制负载.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 applicationDidEnterBackground 之前显示视图或启动屏幕(以避免活动视图屏幕截图) 的相关文章

  • 使用 C# 截取任何外部应用程序的屏幕截图

    我们有一个 C WPF 应用程序 我们想要在其中截取我们启动的任意应用程序的屏幕截图 即 我们可以引用我们启动的进程 应用程序可能已最小化或位于其他窗口后面 但我们仍然只需要单个应用程序的图像 而不是重叠像素 我知道使用 BitBlt 或的
  • 在 ios 中从 XMPP 服务器检索存档的消息

    我正在将 XMPP 功能集成到我的 ios 应用程序中 但遇到了一个无法解决的问题 问题是我无法从服务器获取存档的消息 我的客户能够登录 并且我已经成功测试了多个服务调用 发送 接收消息 获取有关用户的信息 发送后
  • 应用程序终止时处理通知(iOS)

    我正在开发接收通知的应用程序 使用苹果推送通知 我正在存储这些通知并在一个控制器中显示为列表 据我了解 每当收到通知时都会调用 didReceiveRemoteNotification 当应用程序位于前台和后台时 我可以通过 didRece
  • MapKit 注释未显示在地图上

    我无法让 MKAnnotationViews 显示在 MapKit 的地图上 我正在使用 iOS 7 现在已经在论坛和网络上搜索了很多小时 尝试不同的示例和设置 下面我有 我认为 使其工作的最基本的设置 该应用程序包含一个 ViewCont
  • 尝试了解CMTime

    我见过一些examples https stackoverflow com questions 5808557 avassetwriterinputpixelbufferadaptor and cmtime of https stackov
  • RestKit链接器错误

    我一直遵循 RestKit 安装说明 但现在在尝试构建应用程序时出现错误 这是针对 ios iPad 的 我收到 命令 Developer Platforms iPhoneSimulator platform Developer usr b
  • 如果部署目标 < 基础 sdk,如何检查是否使用了不可用的方法?

    我想知道当部署目标低于基础 SDK 时 您如何检查代码是否不调用不可用的方法 可以在 SDK 等于部署目标的设备上运行应用程序 但我搜索一种更 自动 的方式 任何想法 问候 昆汀 最简单的方法是使用 IPHONE OS VERSION MA
  • iOS 中输入字段显示不同大小

    我有一个带有背景和固定宽度 高度的输入字段 它在我桌面上的所有浏览器中看起来都很好 但由于某种原因 它看起来更大iPad and iPhone 我在 CSS 中尝试了一些技巧 但到目前为止没有任何效果 width 120px importa
  • 更快地估计 CollectionView 中单元格高度的方法

    我的 UICollectionView 中有一个无限滚动 我注意到我估计单元格高度的方式是我的集合视图的瓶颈 我滚动收藏视图的次数越多 它就会导致一些长时间的延迟 有没有更好的方法来估计单元格的高度 这些单元格有不同的高度 因为我有一个UI
  • Swift:如何审查/过滤输入的脏话等文本?

    我只是想看看是否有一种既定的方法可以做到这一点 或者如何去做 我有一个文本字段 它本质上充当我的 iOs 应用程序中的表单 用户可以在其中发布内容 我不能让用户发布脏话 不恰当的废话 所以我想过滤掉他们输入的字符串包含这些单词之一的内容并显
  • 多次显示admob插页式广告怎么办?

    我有一个小型游戏应用程序 它有一个故事板 里面创建了像开始菜单 游戏区域 分数这样的场景 我在其中添加了 admob 横幅视图和插页式广告 我的横幅视图工作正常 但我的插页式广告只能工作一次 我在 viewdidload 上加载插页式广告
  • NSURLSessionDownloadTask 出现存储几乎已满磁盘警告的问题

    我在使用 NSURLSessionDownloadTask 处理 ios 上的 空间不足 磁盘已满 错误时遇到问题 如果由于应用程序中完成下载而导致磁盘已满 我会接到电话 URLSession 会话 NSURLSession 任务 NSUR
  • 无法发出桥接标头的预编译标头

    我从 GitHub 下载了一个项目 然后 pod 了以下文件 其中一些文件是由 OBJ C 编写的 我使用了桥接头 pod SnapKit pod MJRefresh pod Alamofire pod Kingfisher pod MBP
  • 推送通知需要很长时间才能到达

    我在适用于 iOS 和 Android 的 Adob e Air 应用程序中遇到推送通知的奇怪问题 我正在使用 Milkman Games 的 Easy Push ANE 以及 One Signal 服务 问题是通知确实会到达 但有时 随机
  • Swift 中的自定义输入视图

    我花了几个小时试图弄清楚如何创建 然后定制inputView上班 我有一个网格TextInputs 想想拼字板 按下时应该加载自定义inputView插入文本 我创建了一个 xib文件包含UI elements为定制inputView 我能
  • 如何在WKInterfaceLabel下面放置一个WKInterfaceLabel?

    大家好 我在 watchkit 开发中有新的东西 我有特殊要求 我将一个 WKInterfaceLabel 安排在另一个 WKInterfaceLabel 下面 我尝试使用很多关闭选项 例如编辑位置 但 WKInterfaceLabel 未
  • AVPlayerLooper 每次迭代后黑闪

    我正在使用 Apple 的示例代码在UICollectionViewCell背景 我在用着AVPlayerLooper 因为它是同一视频的迭代 我的问题是 当视频结束时 它会显示轻微的黑屏闪烁 也许它正在将视频搜索到0时间 我不确定 这是代
  • MPMoviePlayerController 播放 YouTube 视频

    如何在 iPhone 上的 MPMoviePlayerController 中播放 YouTube 视频 同时避免进入全屏模式 这个问题已经在这里提出 MPMoviePlayerController 正在播放 YouTube 视频吗 htt
  • 滚动视图下的iOS swift 4 imageview:双击缩小

    我已经应用了图像视图来通过捏合来放大 缩小 那很容易 当在图像视图上应用双击时 无法检测到选择方法 我使用 Xcode 9 和 swift 4 您能告诉我滚动视图是否应该应用双击手势吗 var previewImage UIImage ni
  • 在 swift 中从本地视频创建缩略图

    如何从本地视频文件快速创建缩略图 例如 如果视频文件路径位于此处 file Users Dev Library Developer CoreSimulator Devices F33222DF D8F0 448B A127 C5B03C64

随机推荐

  • 为什么在 C++ 中输入 void main() 不好 [重复]

    这个问题在这里已经有答案了 可能的重复 void main 和 int main 之间的区别 Why is void main return void bad 有一天 我输入了此内容 有人向我指出这样做是错误的 我很困惑 我这样写已经有一段
  • 如何在顶点着色器中使用计时器来为 OpenGL 中的点大小设置动画

    我正在尝试实现一个点云 其中不同点的大小应根据与其相关的不确定性值而变化 比方说 如果这个值为零 则大小应该是恒定的 如果它接近 1 则这些点的半径应该变化得越来越大 首先 点的大小应该增加 并且在达到最大值后 它们应该减小直到最小值 依此
  • C++-单例类

    单例类可以被继承吗 如果是 那我们该怎么办呢 编辑 我的意思是说 如果我们有一个使用单例设计模式的类 那么它可以被继承吗 单例有私有构造函数 因此继承是不可能的 除此之外 单例具有实例化私有实例成员的静态方法 并且由于您无法覆盖静态方法 因
  • Python 中带有键的 sort_values()

    我有一个数据框 其中列名称是时间 0 00 0 10 0 20 23 50 现在 它们按字符串顺序排序 因此 0 00 是第一个 9 50 是最后一个 但我想在时间之后对它们进行排序 所以 0 00 是第一个 23 50 是最后一个 If
  • 正则表达式捕获组 swift

    我在字符串中有一个正则表达式搜索方法 extension String func searchRegex regex String gt Array
  • 旋转后恢复倒计时

    我有一个从 60 秒开始倒计时的倒计时器 这个倒计时器通过将文本视图设置为剩余毫秒来工作 但是每当我旋转设备时 倒计时器就会重置 我知道发生这种情况是因为活动会轮流重新启动 因此 我尝试将剩余的时间保存在捆绑包中 然后在活动重新启动后恢复它
  • 使用 SQL 查询查找订购 > x 种产品的客户的详细信息

    请注意 我见过类似的查询here 但认为我的查询足够不同 值得提出一个单独的问题 假设有一个包含以下表的数据库 customer table 包含 customer ID 关键字段 customer name 包含 order ID 关键字
  • 无法使用 Google Calendar Api v3 获取访问令牌

    我正在尝试将日历事件放入日历中 而无需身份验证提示 我读到 使用 OAuth 服务帐户可以让您执行此操作 我已经在我的 Google 开发者控制台中设置了服务帐户 但对此没有任何运气 我们有一个 Google 企业帐户 我将我的委托用户设置
  • 使用 PHP 解析 JSON

    我从服务源中提取了以下 JSON 内容 global event ending at 2011 11 07T02 00 00Z short url http bit ly reAhRw created at 2011 10 04T14 25
  • Android 无法识别 Firebase“createCustomToken”

    我正在实施 使用自定义令牌登录 我在以下位置找到了这段代码Firebase 文档 firebaseAuth createCustomToken uid addOnSuccessListener new OnSuccessListener
  • Jsoup从css获取背景图像路径

    我正在寻找给定网站上的所有图像 为此 我需要找到 css 中的内容 例如 gk crop background image url images style1 g rss 2 png 现在我的问题是如何使用 JSoup 获取所有这些 url
  • 无法使用“(T,来自:数据)”类型的参数列表调用“解码”

    我正在尝试创建一个函数 该函数根据传递给它的自定义 JSON 模型接受 Codable 类型的参数 错误 Cannot invoke decode with an argument list of type T from Data 发生在解
  • 如何知道 ListView 中的哪个 LinkBut​​ton 被单击

    我目前在 ListView 的 ItemTemplate 中有一个 LinkBut ton ListView 中的每个按钮都应调用相同的单击事件处理程序 但是 在处理程序中我需要知道单击了哪个按钮 这可能吗
  • 如何通过mssql存储过程读取远程(网络)机器中xml文件的内容

    我尝试使用批量插入读取本地计算机中单个 xml 文件的内容 SELECT FROM OPENROWSET BULK FILENAME SINGLE CLOB AS xmlData 它正在工作 但我正在尝试从远程机器读取数据 它给出以下错误
  • 在 Service Worker 更新时重新加载 Create-react-app

    我要修改create react app服务人员file并实现弹出消息 如果新的 Service Worker 已准备好激活 该消息将要求用户更新应用程序 我几乎完成了解决方案 但有一个陷阱 我想在用户确认服务工作人员更新弹出窗口时重新加载
  • 重新索引并填充 PySpark 中缺失的日期

    有没有办法填充 PySpark 中缺少的列日期和行值 目前 我将数据帧转换为 Pandas 并在那里重新索引 sdf show id 2018 01 01 2018 01 03 2018 01 05 1 0 0 1 0 0 0 2 4 0
  • Oracle:“instantclient”连接字符串格式是什么?

    它与常规连接字符串有何不同 与即时客户端的连接与与全栈客户端的连接没有什么不同 所有连接字符串格式都是相同的 如果您将即时客户端安装在文件系统上的非标准位置 或者在连接到数据库侦听器时遇到问题 请确保您的 TNS ADMIN 环境指向包含
  • PHP - 如何通过 Youtube API v3 更改 YouTube 视频的隐私状态?

    我需要知道如何更改 YouTube 视频的隐私状态 该视频的隐私状态为 不公开 我想更改为 公开 Here有一个向视频添加一些标签的示例 但我不知道如何应用该示例来更新隐私状态 谢谢你 我在将视频上传到 YouTube 时设置了隐私状态 我
  • chown:更改“/data/db”的所有权:不允许操作

    我们可以使用nfs卷插件来维护kubernetes集群之间的高可用性和灾难恢复吗 我正在使用 MongoDB 运行 pod 收到错误 chown 更改 data db 的所有权 不允许操作 云任何机构 请建议我如何解决该错误 或者 是否建议
  • 在 applicationDidEnterBackground 之前显示视图或启动屏幕(以避免活动视图屏幕截图)

    我的应用程序中有机密信息 因此我想在应用程序即将移至后台时使用启动屏幕隐藏它们 我确实在 iOS6 及更高版本上运行该应用程序 我尝试在中显示视图applicationWillResignActive但问题是 即使用户滑动控制面板 它也会显