2017-10-07 16 views
0

私はiMessage AppをSwift 4にアップグレードしようとしています。このセクションのコード例はSwift 3で完全に機能しましたが、Swift 4に移行しようとするとエラーが発生します。クラスは、ファイルがメインのアプリターゲットとiMessageアプリの一部です。Swift 4 Errorエクステンションでコードを実行中

#if IN_EXTENSION 
    // Do nothing since it's running in iMessage Extension 
    print("In extension") 
#else 
    let helper = Helper() 
    helper.test() 

    UIApplication.shared.shortcutItems = [] 

    let mainStoryboard = UIStoryboard(name: "Main", bundle: Bundle.main) 
    let testViewController : UIViewController = mainStoryboard.instantiateViewController(withIdentifier: "Test") as UIViewController 
    UIApplication.shared.keyWindow?.rootViewController = testViewController 
#endif 

shared is unavailableなどのエラーが発生します。それはiMessage Appsで利用できないので完全に意味を成します。

これまでの仕事はOther Swift Flagsです。私は-DIN_EXTENSIONをiMessageアプリ拡張に追加しましたが、メインアプリは追加しませんでした。

私のiMessage Appとメインアプリの間には多くの類似点があります。だから、コードをきれいにして、コードを繰り返さないようにしたい。だからこれは可能なはずです。

スウィフト4に変換した後、突然それがエラーを投げている理由はわかりません。

修正方法についてのご意見はありますか?

+0

明らかに、iMessageでも '#else'に潜んでいます。 – matt

+0

@mattこれを分かりました。突然それを再構築する何らかの理由で、まったく違うエラーが出ました。それらを修正した後、このエラーは完全に消え去った。 Xcodeなどのバグのようです。 –

+1

非常に可能!誤解を招くエラーは、他のエラーがある場合に発生します。あなたがそれを整理してうれしいです。 – matt

答えて

-1

私のアプリを再構築した後に何らかの理由でこのエラーが消えてしまって、まったく違うエラーが出ました。それらを解決した後、このエラーは完全に消え去った。 Xcodeなどのバグのようです。

関連する問題