簡體   English   中英

iOS版。 字體在模擬器上可用,但在設備上不可用

[英]iOS. font available on simulator but not on device

我在應用程序中使用自定義字體,並遇到了非常奇怪的問題。 該字體在模擬器上可用,但在實際的iPad上不可用。

1我不會混淆字體名稱和文件名。 文件名是bitdust2.ttf而字體名是BitDustTwo ,這就是我所說的,在模擬器上也可以。

2這不是區分大小寫的問題。 字體確實在設備上不可用。 我這樣做時知道原因:

NSLog(@"%@", [UIFont familyNames]);

我在模擬器上看到我的字體包含在familyNames數組中,但在iPad上卻丟失了。 怎么了? 您是否遇到過這樣的問題?

(來自以上注釋:)驗證字體文件“ bitdust2.ttf”是否已添加到目標中並已復制到應用程序包中。

標題為模擬器的是模擬器,而不是真正的模擬器。 模擬器運行相同的命名API,但是由於模擬器在OS X而非iOS上運行,因此模擬器通常具有更多功能。 例如,模擬器上的媒體播放器類比設備上支持的文件(編解碼器)類型更多,因為OS X比iOS支持的編解碼器更多。 在模擬器上,可用的字體比設備上的字體多。

以下是有關在iOS應用中嵌入字體的更多詳細信息:

在iOS 4中有一種使用自定義字體的簡單方法。

  1. 將您的字體文件(例如Chalkduster.ttf)添加到XCode中項目的Resources文件夾中。
  2. 打開info.plist並添加一個名為UIAppFonts的新密鑰。 此項的類型應為array。
  3. 將自定義字體名稱添加到此數組,包括擴展名(Chalkduster.ttf)。
  4. 現在,您可以在應用程序中使用[UIFont fontWithName:@“ Chalkduster” size:16]。

重要的是不要錯過任何步驟。 如果仍然有問題,請轉到XCode中項目的“構建階段”選項卡,然后在“副本捆綁資源”選項卡下,確保已包含字體文件。 如果沒有,請添加它。

檢查設備的操作系統版本及其對iOs版本的支持。 您使用的自定義字體必須與設備的iOS兼容。

檢查答案。 如果不支持,可能需要使用其他自定義字體。

我只是遇到了同樣的問題,並且在確認所有內容都正確之后:

  • 字體已添加到info.plist“應用程序提供的字體”中的相應鍵中
  • 字體被添加到項目-> info與info.plist相同的鍵下(這只是意味着我保存了plist)
  • 字體文件已添加到項目中
  • 字體文件在項目文件夾中
  • 項目->目標->構建階段->復制捆綁軟件資源:包含我的字體文件
  • 檢查文件是否與目標關聯

我不得不再次下載文件並重新添加它..當我更改文件名時...所以我認為.ttf文件已損壞

您需要將字體嵌入到應用程序中。 說明在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM