能登 要

札幌在住のiOSアプリ開発者。SwiftUI により分割されたデバイス間を縦横にやりとりできる考え方に転換しています。

iOSアプリ開発者。2009年のiPhoneアプリ開発開始時期から活動。開発言語のアップデートの中でSwiftUIおよび周辺技術に着目中。

Export Type Identifiers | Import Type Identifiers - iOS/iPadOS/macOS

SwiftUIでドキュメントベースアプリを作る際に戸惑う要素としてUTI(Uniform Type Identifier)の捉え方である。

Uniform Type IdentifierはOSⅩ 10.4から混乱しがちなファイルの取り扱いを整理するための仕組みでmacOSアプリ開発者ならばおなじみだろうがiOSアプリ開発者がmacOSまで視野に入れようとすると突然目の前に立ちはだかってくる。

困ったの点は、UITの定義としてExport Type Identidiers、Import Type Identidiersが歩けと、Import/Export は対義語として用意されたものかわからない。

唐突にUniform Type IdentifierはiOS上に現れたわけではなく導入済だが注目はされていなかった。

ドキュメントベースアプリが登場するiOS10からAppleがドキュメントを扱う際のUTIについて言及が多くなるが、一番良い資料はiOS11のセッション資料である。

Managing Documents In Your iOS Apps - WWDC 2018 - Videos - Apple Developer

日本語字幕対応で内容が把握しやすい。上記資料からExport/Import は対義語ではなくファイル種類の由来がアプリ内からきたものなのか(Export)、既存のファイル種類を引きついだものか(Import)の違いということがわかる。