私のアプリでは、Aquatic Prime の Objective-C バージョンが動作しています。CoreFoundation 関数の Objective-C クラスを交換すると、ライセンス ファイルを 1 回検証できますが、コードの他の部分 (同じコード ブロックを使用) での後続の検証試行は失敗します。なんで?
APSetKey(key);
NSString *appSupportFolder = [(MyApp_AppDelegate *)[[NSApplication sharedApplication] delegate] applicationSupportFolder];
NSString *licFile = [appSupportFolder stringByAppendingPathComponent:@"license.myapp-license"];
CFURLRef licURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, (CFStringRef)licFile, kCFURLPOSIXPathStyle, false);
CFDictionaryRef licenseDictionary = APCreateDictionaryForLicenseFile(licURL);
if (licenseDictionary) {
// do something
CFRelease(licenseDictionary);
}
CFRelease(key);
CFRelease(licURL);
Lion で XCode 4.1 を使用していますが、10.6 64 ビットに対してコンパイルしています。