LoginSignup
0
1

More than 1 year has passed since last update.

[macOS][iOS]アプリケーション識別子

Last updated at Posted at 2023-02-23

アプリケーションを識別するIDとは何か?それは、世界でユニークなIDなのか?開発者(Developer Program)でユニークなIDなのか? ストアでユニークなIDなのか?著名なアプリのIDを自分のアプリにつけれるのか?アプリ内課金の不正対策で、レシートが他のアプリのものかどうかを何で確認すればいいのか?一般的なファイルフォーマット(例えばテキストやPNG)のファイルをダブルクリックすると、それを作成したアプリが起動するのは何故か?

ちょっと気になるが知らないと困ることがあるアプリケーション識別子ついて、懐かしい情報から最近の情報まで調査した。

ファイルタイプとクリエータ

Macintosh Systemでは4文字の数値('PTNG'や'APPL'など)で種類を表していた。ファイルの種類はファイルタイプ、アプリケーションの識別はクリエータと呼ばれ、重複を防ぐため、APDA(Apple Programmer's and Developer's Association)への登録制度を設けていた。

種類 説明
ファイルタイプ 'PTNG' MacPaint書類(PaiNTinG)
'APPL' アプリケーション
'TEXT' テキスト・ファイル
クリエータ '8BIM' Photoshop
'WILD' HyperCard

JeditΩ.png

上図の設定を選択するとクリエータが保存されるようになり、プレーンテキスト・ファイルのダブルクリックでJedit Ωが立ち上がる。

Uniform Type Identifier (UTI)

データを識別する方法は以下のように複数個の種類が存在するが、UTIはシステム内で扱うデータを識別するための一本化された方法。

  • Macintosh Systemのファイルタイプ (OSType)
  • MS-DOSからの拡張子
  • MIMEタイプ

App ID

形式は、seed_id.id。seed_idは10文字の「バンドルシードID(Bundle Seed ID)」で、Member CenterのアカウントIDに基づいて決定される。idはバンドルID。

タイプ App ID バンドルID
明示的 123456789A.com.example.Demo com.example.Demo
ワイルドカード 123456789A.* com.example.Demo
123456789A.com.example.* com.example.Demo

Apple DeveloperサイトのApp ID

「証明書、ID、プロファイル」のIdentifiersで登録できるバンドルIDは、ストアでの重複を許さない仕様となっている。

Universal links の associated domains

以下は設定ファイルの例。

{
  "applinks": {
      "details": [
           {
             "appIDs": [ "ABCDE12345.com.example.app", "ABCDE12345.com.example.app2" ],
             "components": [
               ...
             ]
           }
       ]
   },
   "webcredentials": {
      "apps": [ "ABCDE12345.com.example.app" ]
   },
    "appclips": {
        "apps": ["ABCED12345.com.example.MyApp.Clip"]
    }
}

appIDsの書式は以下のとおり。

.

App IDだ。

StoreKitのレシート

レシートにはApp IDでなくバンドルIDが。 でも、開発者サイトで登録するバンドルIDはユニークなので重複しない。

StoreKitレシート.png

【関連情報】

iOSプログラミング ビルド&リリース
ResEdit Reference
Uniform Type Identifiers Overview
Cocoa Core Competencies
iOS Team Administration Guide
Configuring an associated domain
Supporting associated domains
App IDを登録する
Cocoa.swift
Cocoa勉強会 関東
Cocoa練習帳

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1