代码之家  ›  专栏  ›  技术社区  ›  Peter Lapisu

使用未解析的标识符“kuttypedf”

  •  1
  • Peter Lapisu  · 技术社区  · 6 年前

    如何在swift中使用文件类型

    根据 https://developer.apple.com/documentation/coreservices/kuttypepdf

    这个应该很好

    UIPasteboard.general.setData(Data(contentsOf: URL(fileURLWithPath: path)), forPasteboardType: kUTTypePDF)
    

    然而,耶尔德

    Use of unresolved identifier 'kUTTypePDF'
    
    2 回复  |  直到 6 年前
        1
  •  1
  •   Natarajan    6 年前

    您需要导入 import MobileCoreServices 正如“罗伯特·德雷勒”所说

    但之后你会看到下面的错误 导入移动预订

    “cfstring”不能隐式转换为“string”;是否要使用“as”显式转换?

    所以你需要这么做 kUTTypePDF as String

    之后,您可能会看到 Data(contentsOf: URL(fileURLWithPath: path) 如下所示,

    调用可以引发,但它未标记为“Try”,并且未处理错误

    所以你需要使用 try catch .

    您的最终代码如下所示。

    do{
    
            let data = try Data(contentsOf: URL(fileURLWithPath: path))
    
            UIPasteboard.general.setData(data, forPasteboardType: kUTTypePDF as String)
    
        }catch{
    
            print("error :\(error)")
        }
    
        2
  •  3
  •   Robert Dresler Gustavo Vollbrecht    6 年前

    您必须导入 MobileCoreServices

    import MobileCoreServices