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をコピーしました!

この記事を書いた人

Akira Hayashi (林 晃)のアバター Akira Hayashi (林 晃) Representative(代表), Software Engineer(ソフトウェアエンジニア)

アールケー開発代表。Appleプラットフォーム向けの開発を専門としているソフトウェアエンジニア。ソフトウェアの受託開発、技術書執筆、技術指導・セミナー講師。note, Medium, LinkedIn
-
Representative of RK Kaihatsu. Software Engineer Specializing in Development for the Apple Platform. Specializing in contract software development, technical writing, and serving as a tech workshop lecturer. note, Medium, LinkedIn

目次