2016-09-26 22 views
16

SwiftプロジェクトでXcode 8を使用するには、新しいSwift 3構文に変換する必要があります。Xcode 8でSwift 3に変換

私はいくつかのココアポードを持つプロジェクトを持っています。まず、それぞれのソースからこれらのポッドの新しいバージョンをすべてインストールしたので、既にSwift 3に変換されています。

次に、私は主ターゲット(基本的には実際のアプリケーション)にEdit -> Convert -> To current Swift syntax choosing Swift 3を使用しました。すべてがうまく見えましたが、最初のビルドでは、エラーが多く、簡単なものでもCMD+ALT+CTRL+Fで解決できましたが、すべてのビルドで増加しています。私はこの変換ツールが最善のものではない、あるいは何かが間違っていたと思います。

正しい方向を教えてもらえますか?

スクリーンショットは、あなたの問題

screenshot errors

+0

いくつかのエラーを表示できますか? –

+2

私は同じ問題を抱えています。この会話は非常に小さなプロジェクトでのみ有効です。だから、私はバージョン7.3.1に留まります - そして、後で私はスクラップからプロジェクトを再構築します(クラスのコピークラス - 構文を変換/チェックしようとします) - しかし、これは1つのプロジェクトで少なくとも1日かかるでしょう。 – derdida

+0

これをチェックしてください:最新の構文に変換するにはまだ多くの "手動"作業が必要です。 https://stackoverflow.com/questions/37946899/converting-to-swift-3-difficulties?rq=1 – derdida

答えて

6

私はそれが悲しいであることを知っているが表示されますが、手動でコードを変更するよりも、他の解決策はありません。違う制約もありますが、それらをすべて変更する必要があります(間違っている場合)。

+0

私はこの同じことに遭遇した。私の制約はすべてやり直さなければならなかった。彼らが望んでいた簡単なラベルの更新が、自分のアプリのレイアウト全体をやり直すのに4時間以上かかることをクライアントに伝える大きな痛み。 – DiggyJohn

+0

もちろん、XCodeはエラーマークの横に修正オプションを表示していますが、上記の問題を取り除くためにそのオプションに従うことができます – GvSharma

2

あなたは後藤の無料サービス(大きなファイルのためにあなたがaccontをアップグレードする必要があります)、 明確かつ容易にすることができます

Online Convertor

あなたはコードの小さなブロックを変換してconvertionを作ることができます。時々行ごとに。

他の方法は、swift3プロジェクトでobjectiveCブリッジを作成することです。

(オンラインコンバーターとの組み合わせで)xcodeから自動修正8.非常に便利です(自動補正に注意してコードを劣化させることがあります)。

基本的に:それは悪くない、あなたは手動ですべてのエラーを修正する必要があります。エラーの90%を修正するのは非常に簡単で、ログに従うだけです。

+0

このサービスはswift 2.0 - > 3.0またはobjc - > swift 2/3のみから変換しますか? – eonist

+0

いいえ、それの必要はありません。 xcode 8.0 verまたは> 8.0をダウンロードすることができれば、自動でこの仕事ができます。 –

+1

それは理論です、IRLはそれほど単純ではありません。例えばRangeを取る。完全に3.0で再設計されました。 – eonist

関連する問題