環境
- xcode: 12.4
- swift: 4.2
- Frameworkプロジェクトのファイル(Cocoa Touch FrameworkのTarget Membershipにチェックが入っているファイルの中での話)
問題
- Assets.xcassetsの登録した画像を通常通り取得しようとすると、nilが返ってくる。
.swift
let image = UIImage(named: "image_name")
>> imageはnil
- 軽く調べると
- namedで指定するファイル名を間違えていないか
- Target Membershipにチェックがついてるか
- などがヒットするが、それでは解決しなかった
解決策
-
UIImage(named: )
の第二引数に、frameworkプロジェクトのBundle identifierを指定してあげればよい。
.swift
let image = UIImage(named: "image_name", in: Bundle(identifier: "my.framework.bundle.identifer"), compatibleWith: nil)