私は現在、watchOSアプリの拡張機能を備えたiOSアプリを構築しています。私は両方のアプリケーションで共有される特定のクラスを持っていますが、どちらのプラットフォームでもほとんど同じですが、特定のバリエーションがあります。私はこれがどのように最良に実装されているのだろうかと思います。今、私は次のようにします。これは動作しますがXCodeのが、このことについて、かなり混乱しているようですので、Swiftの共有時計OS/iOSクラスのプラットフォーム固有コード?
#if os(watchOS)
private var watchOSOnlyProperty: Any?
#endif
または
#if os(iOS)
func iOSOnlyMethod() {
...
}
#endif
、それはいくつかの問題を提供します。インデント、オートコンプリート、およびメソッドのリストは、この構文を使用すると少しばかりオフになります。
これを行う適切な方法は何ですか? SwiftのiOS/watchOS固有のプロパティ&メソッドを共有クラスに追加するにはどうすればよいですか?
これは適切な方法です – Paulw11
私は実際に実行可能ではないと考えているので、これはXCodeで私にとって非常に多くの問題を引き起こします。たとえば、オートコンプリートは、これを使用するクラスでは私にとって完全に機能しなくなっています。他の選択肢はありますか? – BlackWolf
異なるターゲットに異なるソースファイルを作成します。しかしこれはうまくいくはずです。派生したデータを削除してみてください – Paulw11