单步执行直到退出功能__CFTypeCollectionRetain
NSData *inData =[[NSData alloc] initWithContentsOfFile:@"NafeesWeb.ttf"]; /* your decrypted font-file data */;
CFErrorRef error;
CGDataProviderRef provider = CGDataProviderCreateWithCFData((CFDataRef)inData);
CGFontRef font = CGFontCreateWithDataProvider(provider);
if (! CTFontManagerRegisterGraphicsFont(font, &error)) {
CFStringRef errorDescription = CFErrorCopyDescription(error);
NSLog(@"Failed to load font: %@", errorDescription);
CFRelease(errorDescription);
}
CFRelease(font);
CFRelease(provider);
我还希望在使用后取消注册此字体。
答案 0 :(得分:1)
您是否尝试单步执行或记录inData
以确保它不是nil
?
您应该使用initWithContentsOfFile:
的绝对路径,因此您可能不会首先加载数据。
尝试:NSData *inData =[[NSData alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"NafeesWeb" ofType:@"ttf"]];