1

我的老板想要一个更小的包装尺寸。我们拥有的最大资源是大约 5MB 的后备字体(用于 CJK 字符)。目前我已经设法从手机中读取了后备字体。这是一个 OpenGL 应用程序,我们使用 FreeType 进行字体渲染,所以这就是我不使用 UIFont 的原因。我有有效的代码,但我想知道读取/System/Library/Fonts/CGFontCache.plist是否是被 AppStore 拒绝的理由:

void AddSystemFontToCache(const char* fontName, const int& fontStyle)
{
    NSString *nsFontName = [NSString stringWithCString:fontName encoding:NSASCIIStringEncoding];
    NSDictionary *nsFontsDict = [NSDictionary dictionaryWithContentsOfFile:@"/System/Library/Fonts/CGFontCache.plist"];
    NSDictionary *nsTraitsDict = [nsFontsDict valueForKey:@"TraitMappings"];
    NSDictionary *nsMappingDict = [nsTraitsDict valueForKey:nsFontName];
    NSDictionary *nsFaceNamesDict = [nsFontsDict valueForKey:@"Names"];
    NSString* nsFacePath = [nsFaceNamesDict valueForKey:[nsMappingDict valueForKey:nsFontStyle]];
    // This function uses FT_New_Face to read the font
    AddFontToCache(fontName, [nsFacePath cStringUsingEncoding:NSASCIIStringEncoding]);
}
4

2 回答 2

1

我在网上看到了很多关于人们在他们的应用程序中使用这个文件的帖子,但没有听到苹果拒绝它的消息。如果您使用私有 API 访问该文件,Apple 将拒绝,但由于您可以访问该文件并且只是从没有私有 API 的文件系统中读取它,我认为不会有问题。但是,根据经验,审核者可以自行决定是否拒绝应用程序。每个审稿人都不一样。如果它被拒绝,您可以随时将其发送给审查委员会。

这么简短的回答,不,我不觉得苹果会拒绝你的应用程序使用它。

于 2012-09-11T16:07:23.757 回答
1

https://developer.apple.com/appstore/resources/approval/guidelines.html

2.6 应用程序在其指定容器区域之外读取或写入数据将被拒绝

于 2013-04-02T17:39:03.870 回答