gpt4 book ai didi

ios - 如何检测照片是否是用 iPhone 拍摄的

转载 作者:行者123 更新时间:2023-11-29 05:54:49 27 4
gpt4 key购买 nike

我知道如何使用 Objective-c 中的 PhotoKit(例如 PHAsset、PhotoLibrary 等)中的 API 来访问 iPhone 上的照片。

如何安全地确定照片是否是用运行我的代码的 iPhone 拍摄的?是否有任何属性(例如 PHAsset 或 EXIF)可以可靠地用于此目的?我的应用应该只使用当前手机相机实际拍摄的照片。

最佳答案

首先,您需要获取图像的元数据。如果使用 PHAsset,您可以创建一些扩展来获取元数据。例如:

-(void)requestMetadataWithCompletionBlock:(PHAssetMetadataBlock)completionBlock{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
PHContentEditingInputRequestOptions *editOptions = [[PHContentEditingInputRequestOptions alloc] init];
editOptions.networkAccessAllowed = YES;
[self requestContentEditingInputWithOptions:editOptions completionHandler:^(PHContentEditingInput *contentEditingInput, NSDictionary *info) {
CIImage *image = [CIImage imageWithContentsOfURL:contentEditingInput.fullSizeImageURL];
dispatch_async(dispatch_get_main_queue(), ^{
completionBlock(image.properties);
});
}];
});
}

在字典中可以找到相机制造商。例如:

      ...
Make = Apple;
Model = "iPod touch";
...

也值得一看ImageIO Framework ,在这里您将找到一些用于元数据解析的默认键和其他有用的信息。

但是没有公共(public) API 可以告诉您照片是由当前 iOS 设备拍摄的。

关于ios - 如何检测照片是否是用 iPhone 拍摄的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55266541/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com