2017-04-25 64 views
2

我正在使用sprite工具包在我的蘋果手錶中創建自定義視圖。我已經將自定義字體添加到SKLabelNode。當我在設備中運行代碼並觀看時,該字體已應用並且可以正常工作。但每次我得到警告時未找到字體Xcode中的SKLabelNode警告日誌

SKLabelNode:找不到「SFCompactText-Regular」字體。

字體應用於標籤,工作完美,不會崩潰。那麼爲什麼每次都會顯示此警告?

下面是來自蘋果手錶的輸出列表:

Arial Hebrew 
    ArialHebrew-Bold 
    ArialHebrew-Light 
    ArialHebrew 
Myanmar Sangam MN 
    MyanmarSangamMN-Bold 
    MyanmarSangamMN 
Oriya Sangam MN 
    OriyaSangamMN-Bold 
    OriyaSangamMN 
Symbol 
    Symbol 
Gurmukhi MN 
    GurmukhiMN-Bold 
    GurmukhiMN 
Tamil Sangam MN 
    TamilSangamMN-Bold 
    TamilSangamMN 
Courier New 
    CourierNewPSMT 
    CourierNewPS-BoldMT 
    CourierNewPS-BoldItalicMT 
    CourierNewPS-ItalicMT 
Courier 
    Courier-BoldOblique 
    Courier-Oblique 
    Courier 
    Courier-Bold 
Kohinoor Bangla 
    KohinoorBangla-Regular 
    KohinoorBangla-Semibold 
    KohinoorBangla-Light 
Apple Color Emoji 
    AppleColorEmoji 
Lao Sangam MN 
    LaoSangamMN 
Bangla Sangam MN 
Telugu Sangam MN 
Kailasa 
    Kailasa-Bold 
    Kailasa 
PingFang TC 
    PingFangTC-Light 
    PingFangTC-Thin 
    PingFangTC-Ultralight 
    PingFangTC-Semibold 
    PingFangTC-Regular 
    PingFangTC-Medium 
Heiti SC 
Malayalam Sangam MN 
    MalayalamSangamMN 
    MalayalamSangamMN-Bold 
Thonburi 
    Thonburi 
    Thonburi-Bold 
    Thonburi-Light 
Zapf Dingbats 
    ZapfDingbatsITC 
Kohinoor Telugu 
    KohinoorTelugu-Medium 
    KohinoorTelugu-Regular 
    KohinoorTelugu-Light 
Avenir Next 
    AvenirNext-HeavyItalic 
    AvenirNext-DemiBoldItalic 
    AvenirNext-BoldItalic 
    AvenirNext-UltraLight 
    AvenirNext-MediumItalic 
    AvenirNext-Bold 
    AvenirNext-Medium 
    AvenirNext-Italic 
    AvenirNext-UltraLightItalic 
    AvenirNext-Regular 
    AvenirNext-Heavy 
    AvenirNext-DemiBold 
Apple SD Gothic Neo 
    AppleSDGothicNeo-Bold 
    AppleSDGothicNeo-Medium 
    AppleSDGothicNeo-UltraLight 
    AppleSDGothicNeo-Regular 
    AppleSDGothicNeo-Light 
    AppleSDGothicNeo-Thin 
    AppleSDGothicNeo-SemiBold 
Helvetica 
    Helvetica-BoldOblique 
    Helvetica-Light 
    Helvetica-Oblique 
    Helvetica-LightOblique 
    Helvetica-Bold 
    Helvetica 
Euphemia UCAS 
    EuphemiaUCAS 
    EuphemiaUCAS-Italic 
    EuphemiaUCAS-Bold 
PingFang SC 
    PingFangSC-Thin 
    PingFangSC-Medium 
    PingFangSC-Regular 
    PingFangSC-Ultralight 
    PingFangSC-Semibold 
    PingFangSC-Light 
PingFang HK 
    PingFangHK-Thin 
    PingFangHK-Ultralight 
    PingFangHK-Semibold 
    PingFangHK-Light 
    PingFangHK-Medium 
    PingFangHK-Regular 
Gujarati Sangam MN 
    GujaratiSangamMN 
    GujaratiSangamMN-Bold 
Heiti TC 
Sinhala Sangam MN 
    SinhalaSangamMN-Bold 
    SinhalaSangamMN 
Kannada Sangam MN 
    KannadaSangamMN 
    KannadaSangamMN-Bold 
Hiragino Sans 
    HiraginoSans-W3 
    HiraginoSans-W6 
Khmer Sangam MN 
    KhmerSangamMN 
Times New Roman 
    TimesNewRomanPSMT 
    TimesNewRomanPS-ItalicMT 
    TimesNewRomanPS-BoldItalicMT 
    TimesNewRomanPS-BoldMT 
Geeza Pro 
    GeezaPro 
    GeezaPro-Bold 
Helvetica Neue 
    HelveticaNeue-ThinItalic 
    HelveticaNeue-CondensedBold 
    HelveticaNeue-Light 
    HelveticaNeue-UltraLightItalic 
    HelveticaNeue-CondensedBlack 
    HelveticaNeue-MediumItalic 
    HelveticaNeue-Thin 
    HelveticaNeue-Italic 
    HelveticaNeue-Bold 
    HelveticaNeue 
    HelveticaNeue-LightItalic 
    HelveticaNeue-UltraLight 
    HelveticaNeue-BoldItalic 
    HelveticaNeue-Medium 
Kohinoor Devanagari 
    KohinoorDevanagari-Regular 
    KohinoorDevanagari-Semibold 
    KohinoorDevanagari-Light 
Avenir 
    Avenir-Roman 
    Avenir-Black 
    Avenir-BlackOblique 
    Avenir-HeavyOblique 
    Avenir-Oblique 
    Avenir-Medium 
    Avenir-Light 
    Avenir-MediumOblique 
    Avenir-BookOblique 
    Avenir-LightOblique 
    Avenir-Book 
    Avenir-Heavy 
+0

試試這個檢查字體:http://stackoverflow.com/a/8529661/3901620 – KKRocks

+0

@KKRocks我不認爲這將需要,因爲這實際上是手錶中的系統字體。 –

+0

在你使用字體的地方添加代碼。 – KKRocks

回答

4

我解決我通過下面的步驟問題:

- 增加了我的關注擴展目標字體。

- 向WatchApp和WatchExtension添加了目標成員資格。

- 在WatchApp和WatchExtension info.plist文件中添加了字體條目。

- 使用下面的代碼檢查實際的字體名稱。

for fontFamily in UIFont.familyNames { 
     print("Font family name = \(fontFamily as String)") 
     for fontName in UIFont.fontNames(forFamilyName: fontFamily as String) { 
      print("- Font name = \(fontName)") 
     } 
} 

- 爲我的自定義字體創建了一個結構常量。

struct UIFontConst { 
    static let SF_COMPACT_TEXT_REGULAR = UIFont(name: "SFCompactText-Regular", size: 9.0) 
} 

-並使用類似UIFontConst.SF_COMPACT_TEXT_REGULAR?.fontName

0

如果你想擺脫錯誤的,你可以直接從蘋果公司在https://developer.apple.com/fonts/下載字體。

舊金山是macOS,iOS,watchOS和tvOS的新系統字體。如果您有興趣,可以在WWDC視頻中查看字體,這是一款非常棒的手錶:https://developer.apple.com/videos/play/wwdc2016/803/

+0

我已經通過從Apple下載使用該字體。 –

+0

訪問精靈場景時此錯誤是特定的 –

+0

並且字體的目標是爲應用程序設置的,對吧? –