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が必要なとき、乱数の代わりに使うのも良いと思います。
投稿者プロフィール

- macOS/iOSアプリ/SDK/ミドルウェア開発が専門の開発者
- アールケー開発代表。macOS/iOSアプリ/SDK/ミドルウェア開発が専門の開発者。ObjC/Swift/C++使い。豊富な開発実務経験を基に、教育コンテンツ開発、技術書執筆、技術指導、技術セミナー講師、企業内研修講師、行政・自治体職員研修講師も行います。
最新の投稿
ブログ2020.12.27MacPro 2013からHDMIで60Hzのリフレッシュレートにしたい
ブログ2020.12.26開発のためのインフラを移行しました
ブログ2020.11.28MacBook Pro 2020 M1 のために Thunderbolt 3 Dock を導入
お知らせ2020.11.17プログラミング的思考力養成研修の講師を務めました