Mac OS X上でUUIDを作成する

Windows上でCOMインターフェイスのIDなど、ユニークになるような一意の識別子がほしいときはGUIDが便利ですが、Mac OS X上でも作成できます。正確にはGUIDを生成できるのではなくUUIDですが、ターミナルから素早く生成できます。
ターミナルで「uuidgen」と入力すると。即座に新しいUUIDが生成されてターミナルに出力されます。ソースファイルの中で定数として使いたいときはこれをコピーして使います。
Macで完結するアプリでは使う機会が少ないのですが、Webと連携するようなときにはUUIDが必要になることがあります。定数であれば、「uuidgen」ツールで十分ですが、動的に生成したいときはCore FoundationのAPIを使うと便利です。

たとえば、次のコードを実行すると、UUIDを生成してターミナルに出力します。

#include <stdio.h>
#include <CoreFoundation/CoreFoundation.h>
int main (int argc, const char * argv[])
{
CFUUIDRef uuid = CFUUIDCreate(kCFAllocatorDefault);
CFStringRef str = CFUUIDCreateString(kCFAllocatorDefault, uuid);
CFShow(str);
CFRelease(str);
CFRelease(uuid);
return 0;
}

Mac内で完結するアプリのときでも、ユニークなファイル名が欲しいときやユニークなIDが必要なとき、乱数の代わりに使うのも良いと思います。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

林 晃のアバター 林 晃 代表・ソフトウェアエンジニア

アールケー開発代表。Appleプラットフォーム向けのアプリ開発が好きなアプリ開発者。アプリの受託開発、技術書執筆、技術指導・セミナー講師。3DCGコンテンツ作成にも取組中です。

目次