设备锁定时,是否有任何方法可以重现NSFileProtection错误(请参见领域“不允许操作”错误)

时间:2018-11-06 18:11:23

标签: ios realm

我在应用程序商店中的一个应用程序崩溃非常频繁(通过Crashlytics观察到),但是我无法在任何设备上重现或观察到自己的崩溃:

  

致命错误:“尝试!”表达式意外引发错误:错误   Domain = io.realm代码= 2“无法在路径上打开领域   '/ var / mobile /容器/数据/应用程序/27808B59-B121-40E5-AEB3-B24E043AFC3C/Documents/default.realm.lock':   open()失败:不允许操作。“ UserInfo = {错误代码= 2,   NSFilePath = / var / mobile / Containers / Data / Application / 27808B59-B121-40E5-AEB3-B24E043AFC3C / Documents / default.realm.lock,   Underlying = open(“ / var / mobile / Containers / Data / Application / 27808B59-B121-40E5-AEB3-B24E043AFC3C / Documents / default.realm.lock”)   失败:不允许操作,NSLocalizedDescription =无法打开   道路上的境界   '/ var / mobile /容器/数据/应用程序/27808B59-B121-40E5-AEB3-B24E043AFC3C/Documents/default.realm.lock':   open()失败:不允许进行操作。}:文件   /BuildRoot/Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-902.0.54/src/swift/stdlib/public/core/ErrorType.swift,   第184行

该应用使用了后台刷新,因此问题可能出在设备锁定时,使用NSFileProtection自动加密了Realm文件。 通常,是否有任何办法可以强制重现此错误,但特别是使用Realm时? 我尝试做的是这样:

  
      
  • 密码保护设备
  •   
  • 将设备设置为在30秒后自动锁定
  •   
  • 通过Xcode运行应用
  •   
  • 等待> 30秒,直到设备进入睡眠状态
  •   
  • 在Xcode中选择“模拟背景刷新”
  •   
  • 然后通过后台刷新运行代码,以尝试打开领域。
  •   

但是成功了,我没有收到任何错误或其他任何类型的失败。

如果无法复制,如何验证我在App Store中看到的Realm错误可能是由于NSFileProtection / lock问题引起的。

iPhone是否已连接到Mac,因此Mac(以及可能的Xcode)已经受到设备的信任,以某种方式阻止了此行为的再现?

0 个答案:

没有答案