Type 'NSAttributedStringKey' (aka 'NSS

2020-02-05 05:29发布

问题:

Just updated pods for xcode 9 and I'm getting the error below for Cosmos.

Type 'NSAttributedStringKey' (aka 'NSString') has no member 'font'

回答1:

Note: Ensure swift language version of your project. Here is how you can see/check your swift language version.


You have two options as solution to your query:

  1. If your project has Swift versio 4.0
    - You should choose/download POD compatible to your project's swift language (Share me POD info and swift version, so I can provide you exact pod version version for your pod library suitable for project).

  2. If your project has swift version below 4.0
    - You need to migrate your project into Swift 4.0 (if you've not migrated it). Here is ref question and answer, how to migrate from swift (below) <4.0 to 4.0.

    • Xcode 9 Swift Language Version (SWIFT_VERSION)


According to tag added by you in your question - Swift3 is your current project language version and pod 'Cosmos', '~> 12.0' is supporting swift 4.

pod 'Cosmos', '~> 12.0'

Here is list of previous release supporting Swift version below 4.0.

https://github.com/evgenyneu/Cosmos/releases

Try previous release of cosmos like:

pod 'Cosmos', '~> 11.0.3'
// or
pod 'Cosmos', '~> 11.0.1'
// or
pod 'Cosmos', '~> 11.0.0

'



回答2:

 attributes: [NSFontAttributeName: label.font]

it's seem okay with swift 3.2 . i fixed with paging menu viewcontroller library.



回答3:

In My case I replace This Code

[NSAttributedStringKey.font : font]

by Code Below

.size(attributes: [NSFontAttributeName : font])

Hope it Helps.



回答4:

You must need to update swift version to 4.0 from Xcode.

Use below step

1) Choose Your Project from project manager (left top from Xcode)
2) Choose Build Settings
3) Search "Swift language"
4) Change "Swift Language Version " => Swift 4.0



回答5:

let label = UILabel()
label.font = UIFont.preferredFont(forTextStyle: .subheadline)


回答6:

Your pod might have a wrong swift version, not the project settings.

To change the pod swift setting, go in the file navigator (left of the screen) to Pods (blue icon) and select the pod you're having problems with. Then go to build settings and go to Swift Language version. Select Swift 4.