Khi tôi thực hiện cuộc gọi đến CGFontCreateWithDataProvider
khi ở chế độ trên máy bay, ứng dụng của tôi bị treo. Không ở chế độ trên máy bay, nó hoạt động tốt. Phông chữ được lưu trữ trên thiết bị, không cần truy cập mạng.CGFontCreateWithDataProvider treo trong chế độ trên máy bay
Trong khi gọi phương pháp này để tải một tập tin phông chữ địa phương:
[self registerIconFontWithURL:[[NSBundle mainBundle] URLForResource:@"FontAwesome" withExtension:@"otf"]];
Giá trị của url
bằng phương pháp sau là: file: /// var/mobile/Applications/48D3DA14-235B-4450 -A081-7A6BA6116667/Blah.app/FontAwesome.otf
+ (void)registerIconFontWithURL:(NSURL *)url
{
NSAssert([[NSFileManager defaultManager] fileExistsAtPath:[url path]], @"Font file doesn't exist");
CGDataProviderRef fontDataProvider = CGDataProviderCreateWithURL((__bridge CFURLRef)url);
//******Freezes after the next line******
CGFontRef newFont = CGFontCreateWithDataProvider(fontDataProvider);
//******FROZEN******
CGDataProviderRelease(fontDataProvider);
CFErrorRef error;
CTFontManagerRegisterGraphicsFont(newFont, &error);
CGFontRelease(newFont);
}
iOS 7.1.x, iPhone 5.
Tôi không biết tại sao điều này có thể xảy ra và không thể tìm thấy bất kỳ trợ giúp nào ở đó. Có ai có một đầu mối tại sao điều này có thể xảy ra?
Cảm ơn trước!
Đăng mã có liên quan. – rmaddy
Giá trị của 'url' là gì? – rmaddy
@rmaddy bạn đã xem quá sớm, hiện tại có =) – DiscDev