Linker can't find CTFontCreateWithNameAndOptions

核能气质少年 提交于 2019-12-12 11:07:45

问题


I am trying to use CTFontCreateWithNameAndOptions() from CoreText and the linker is saying "Symbol(s) not found", specifically for _CTFontCreateWithNameAndOptions. I added CoreText.framework and am importing <CoreText/CoreText.h>. It compiles fine, but the linker fails.

Here's the declaration in CTFont.h:

CTFontRef CTFontCreateWithNameAndOptions( CFStringRef name, CGFloat size, const CGAffineTransform *matrix, CTFontOptions options ) CT_AVAILABLE_STARTING( __MAC_10_6, __IPHONE_3_2);

Here's the actual call:

CTFontRef font = CTFontCreateWithNameAndOptions( (CFStringRef)@"HelveticaNeue-Bold" , 14.0f , NULL , kCTFontOptionsDefault ) ;

Anybody have any ideas?

My iOS app is linking against the 4.2 framework.


回答1:


I had the same problem. _CTFontCreateWithNameAndOptions is not part of the CoreText framework for iOS, it is part of CoreText framework for OS X only. I reported a documentation bug.




回答2:


You need to add the CoreText.framework to your project.

  1. Go to the project settings
  2. Select the appropriate target
  3. Click Build Phases
  4. Expand Link Binary With Libraries
  5. Click + to add, and find CoreText.Framework, as per screenshot:



来源:https://stackoverflow.com/questions/4419283/linker-cant-find-ctfontcreatewithnameandoptions

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!