Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Font not found SKLabelNode warning in Xcode Log

I am using sprite kit to create a custom view in my apple watch. I have added a custom font to SKLabelNode. That font is applied and works too when I run the code in my device and watch. But every time I get below warning

SKLabelNode: "SFCompactText-Regular" font not found.

Fonts are applied to the label and works perfect and doesn't crash too. So why is this warning shown everytime?

Below is the list which came from output of apple watch:

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
like image 668
Parth Adroja Avatar asked Apr 25 '17 09:04

Parth Adroja


1 Answers

I solved my question with below steps:

-Added my font in Watch Extension target.

-Added target membership to both WatchApp and WatchExtension.

-Added entry of fonts in both WatchApp and WatchExtension info.plist files.

-Check the actual font name using below code.

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)")
        }
}

-Created a struct constant for my custom fonts.

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

-And using like UIFontConst.SF_COMPACT_TEXT_REGULAR?.fontName.

like image 111
Parth Adroja Avatar answered Nov 14 '22 20:11

Parth Adroja