相关疑难解决方法(0)

iOS15 UTType 弃用 URL 扩展

使用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)

url swift swift-extensions ios15 uttype

7
推荐指数
3
解决办法
7276
查看次数

要在 Objective C 中使用 UTType 需要包含哪些标头?

我有以下代码片段:

    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 进行开发。

此处列出的内容没有帮助:接收者类型 *** 例如消息是前向声明

cocoa objective-c

5
推荐指数
1
解决办法
2700
查看次数

标签 统计

cocoa ×1

ios15 ×1

objective-c ×1

swift ×1

swift-extensions ×1

url ×1

uttype ×1