2017-11-27 13 views
1

独自のイメージでフレームワークを構築しようとしましたが、うまくコンパイルできませんでした。しかし、私のフレームワークを別のプロジェクトに組み込むと、画像を読み込む際にクラッシュしてしまいます。xcassetsを使ってフレームワークを構築する方法

ImageTest(私のフレームワーク)

public class ImageTest { 
    open func getImage() { 
     return #imageLiteral(resourceName: "IMG_0745") 
    } 
} 

マイプロジェクト

import ImageTest 
... 
... 

override func viewDidLoad() { 
    super.viewDidLoad() 

    let imageView = UIImageView(image: ImageTest.getImage()) // crash ! 
    imageView.center = view.center 
    view.addSubview(imageView) 
} 

enter image description here

答えて

1

画像はImageTestフレームワークです。このコードreturn #imageLiteral(resourceName: "IMG_0745")を実行すると、ImageTestプロジェクトのImage.xcassetsが表示され、イメージが見つからない場合はクラッシュします。

init function

open func getImage() { 
     return UIImage(named:"IMG_0745", bundle:Bundle(for: self), compatibleWith:nil) 
    } 
のバンドルのparamを使用するようにコードを変更して

関連する問題