An UTI (Uniform Type Identifier) wrapper for Swift

UTIKit

UTIKit is an UTI (Uniform Type Identifier) wrapper for Swift.

Features

UTIKit is a full featured library including entire UTI functions.

  • Convertibility
    • Filename extension
    • MIME type
    • OSType (OS X only)
    • Pasteboard type (OS X only)
  • Equality
  • Conformance
  • and others…

Usage

Making from an UTI string

let jpeg = UTI("public.jpeg")

Making from a filename extension

let jpeg = UTI(filenameExtension: "jpeg")

Making from a MIME type

let jpeg = UTI(mimeType: "image/jpeg")

Getting filename extensions or MIME types

UTI(mimeType: "image/jpeg").filenameExtensions // => ["jpeg", "jpg", "jpe"]

UTI(filenameExtension: "jpeg").mimeTypes // => ["image/jpeg"]

Equality

UTI(mimeType: "image/jpeg") == UTI(filenameExtension: "jpeg") // => true

Conformance

switch UTI(kUTTypeJPEG) {
case UTI(kUTTypeImage):
    print("JPEG is a kind of images")
default:
    fatalError("JPEG must be a image")
}

Requirements

  • Swift 5.0 or later
  • iOS 8 or later
  • OS X 10.10 or later

Author

Hiroki Kato, mail@cockscomb.info

License

UTIKit is available under the MIT license. See the LICENSE file for more info.

GitHub

https://github.com/cockscomb/UTIKit