我在我的应用程序中使用了 Aquatic Prime 的 Objective-C 版本。当我将 Objective-C 类换成 CoreFoundation 函数时,我可以验证许可证文件一次,但是在我的代码的其他部分(使用相同的代码块)的后续验证尝试失败。为什么?
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 位进行编译。