【问题标题】:Why do iOS Data Protection delegates getting called multiple times?为什么 iOS 数据保护代表会被多次调用?
【发布时间】:2020-04-05 11:06:14
【问题描述】:

在 iOS,Objective C 上工作时,我找到了 UIApplicationDelegate 的委托,

applicationProtectedDataDidBecomeAvailable

在设备解锁后被多次调用。可能的原因是什么?


applicationProtectedDataDidBecomeAvailable - 在使用内容保护的设备上,受保护的文件以加密形式存储,并且仅在特定时间可用,通常是在设备解锁时。此通知让您的应用程序知道设备现在已解锁,并且您可以再次访问某些类型的受保护文件。

【问题讨论】:

  • applicationProtectedDataWillBecomeUnavailable 是否也被多次调用?还是它们不平衡?
  • @RobNapier 不,只有applicationProtectedDataDidBecomeAvailable 被多次调用。

标签: ios objective-c security appdelegate data-protection


【解决方案1】:

这是一个已知的正常调用函数。

根据有关“applicationProtectedDataDidBecomeAvailable”的文档,会不断调用以告知代理受保护文件现在可用。等等锁定某些文件不可用。

在使用内容保护的设备上,受保护的文件以加密形式存储,并且仅在特定时间可用,通常是在设备解锁时。此通知让您的应用知道设备现已解锁,您可以再次访问某些类型的受保护文件。

参考:https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623044-applicationprotecteddatadidbecom

我希望这会有所帮助。告诉我。

【讨论】:

  • 但在随后两次调用applicationProtectedDataDidBecomeAvailable 之间我没有得到applicationProtectedDataDidBecomeUnavailable。为什么在数据不可用之前 fw 调用可用?是不是很混乱?
  • 好吧,但我想这就是它的工作原理。也许它会在未来的开发人员中发生变化,但只要您的代码仍然有效,您就可以开始了!
【解决方案2】:

当相应的函数被触发时,大部分的委托都会被调用。 M8 有 10 个加密文件,这 10 个文件在设备解锁时分别触发这个委托,我们应该找到我们正在寻找的文件是否可以使用。有关encrypted files check this link out的更多详细信息。

他们还谈到了位置、相机、画廊等等以及受保护的数据和资源。

【讨论】:

猜你喜欢
  • 2011-11-21
  • 1970-01-01
  • 1970-01-01
  • 2022-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-25
相关资源
最近更新 更多