使用Swift5.5、iOS15.0.1、
从 iOS15 开始,我意识到与我现有的 URL 扩展相关的一些弃用行为正在发生。
我没有找到任何关于如何重写现有扩展的好的文档。
这是我当前的实现,大约是。16个折旧警告,我不知道如何使用iOS15规避。对此的任何想法都受到高度赞赏!
extension URL {
func mimeType() -> String {
let pathExtension = self.pathExtension
if let uti = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, pathExtension as NSString, nil)?.takeRetainedValue() {
if let mimetype = UTTypeCopyPreferredTagWithClass(uti, kUTTagClassMIMEType)?.takeRetainedValue() {
return mimetype as String
}
}
return "application/octet-stream"
}
var containsImage: Bool {
let mimeType = self.mimeType()
guard let uti = UTTypeCreatePreferredIdentifierForTag(kUTTagClassMIMEType, mimeType as CFString, nil)?.takeRetainedValue() else {
return false
}
return UTTypeConformsTo(uti, kUTTypeImage)
}
var containsAudio: Bool {
let mimeType = self.mimeType() …Run Code Online (Sandbox Code Playgroud) 我有以下代码片段:
NSString* filt = [NSString stringWithUTF8String:allowedExtensions[i].c_str()];
UTType *type = [UTType typeWithIdentifier:filt];
Run Code Online (Sandbox Code Playgroud)
我得到了错误'Receiver 'UTType' for class message is a forward declaration'。如果我理解正确,这意味着 UTType 未正确包含。我需要包含什么文件才能正确声明它?我用的是可可。我可以通过谷歌找到关于此的零信息。我正在使用 Xcode 13。我正在为 MacOS 进行开发。
此处列出的内容没有帮助:接收者类型 *** 例如消息是前向声明