【发布时间】:2021-06-01 21:20:50
【问题描述】:
您好 SO 用户,因为我开始了我的 swift 职业生涯并且我当前的项目是目标 c,我需要将我的 swift 代码转换为目标 c。
我要求在 iOS 设备中禁用截屏。由于 Apple 不对此提供支持,我尝试的另一个解决方法是 - 在使用 UIApplicationUserDidTakeScreenshotNotification 截取屏幕截图时收到通知,并从照片库中获取最后一张照片并在 swift 中按照以下代码将其删除。
func deleteAppScreenShot() {
NSLog("i am here")
let fetchOptions = PHFetchOptions()
fetchOptions.sortDescriptors?[0] = Foundation.NSSortDescriptor(key: "creationDate", ascending: true)
let fetchResult = PHAsset.fetchAssets(with: PHAssetMediaType.image, options: fetchOptions)
guard let lastAsset = fetchResult.lastObject else { return }
PHPhotoLibrary.shared().performChanges {
PHAssetChangeRequest.deleteAssets([lastAsset] as NSFastEnumeration)
} completionHandler: { (success, errorMessage) in
if !success, let errorMessage = errorMessage {
print(errorMessage.localizedDescription)
}
}
}
但是,上述方法不是理想的解决方案,因为它总是会要求用户允许删除最后一张照片
谁能告诉我如何在 iOS 中禁用屏幕截图?
【问题讨论】:
标签: ios objective-c swift iphone