2016-09-26 25 views
16

Bir Swift projesi ile Xcode 8'i kullanmak için onu yeni Swift 3 sözdizimine dönüştürmeliyiz.Xcode 8 ile Swift'e Dönüştürme

Birkaç cocoapod içeren bir projem var. İlk olarak, bu podların tüm yeni sürümlerini ilgili kaynaklardan yükledim, bu yüzden onlar zaten Swift 3.

'a dönüştürdüler. Daha sonra, ana hedefim için (esas olarak gerçek uygulama) Edit -> Convert -> To current Swift syntax choosing Swift 3'u kullandım. Her şey iyi görünüyordu, ancak ilk yapıda CMD+ALT+CTRL+F ile düzeltilebilen çok sayıda hata, hatta basit hatalar aldım, ancak her yapı için artarlar. Bence bu dönüştürme aracı en iyisi değil ya da bir şeyler ters gitti ..

Beni doğru yöne yönlendirir misin?

Ekran size sorunları

screenshot errors

+0

Hatalardan bazılarını gösterebilir misiniz? –

+2

Aynı sorunla mücadele ediyorum - bu konuşma sadece çok küçük projeler için çalışıyor. Şu anda 7.3.1 sürümünde kalıyorum - ve daha sonra projeyi hurdadan (yani sınıf için kopya sınıfı - sözdizimini dönüştürmeyi/kontrol etmeyi deneyin) yeniden yapacağım - ama bu tek bir proje için en az bir tam gün sürecek . – derdida

+0

Ve buna bir göz at: Hala son sözdizimine dönüştürmek için "el ile" bir çok iş. https://stackoverflow.com/questions/37946899/converting-to-swift-3-difficulties?rq=1 – derdida

cevap

6

Ben bu üzücü olduğunu biliyorum göstermek için, ama elle kod değiştirerek dışında başka bir çözüm yoktur. Aynı zamanda farklı olan kısıtlamalarla aynıdır ve hepsini değiştirmelisiniz (eğer yanılıyorsa): /. net ve kolay

+0

Aynı şey içine koştum. Bütün kısıtlarım yeniden yapılmalıydı. Bir müşteriye, istedikleri basit etiket güncellemesini, uygulamalarının tüm düzenini yeniden tasarlarken 4 + saat süreceğini söyleyen büyük bir acı. – DiggyJohn

+0

Tabii ki, XCode incelikle hata işaretinin yanında düzeltme seçeneğini gösterir, yukarıda belirtilen sorunlardan kurtulmak için bu seçeneği takip edebilirsiniz – GvSharma

2

Sen git ücretsiz hizmetler (büyük dosyalar için size accont yükseltmelisiniz) olabilir, : Sen küçük kod bloğunu dönüştürerek konvertibıl yapabilirsiniz

Online Convertor

. Bazen çizgi ile satır.

Diğer yolu, swift3 projenizde objectC köprüsü yapmaktır.

Kullanın (çevrimiçi çevirici ile birlikte) Otomatik olarak xcode 8'i düzeltin. Çok kullanışlı (bazen otomatik düzeltmeye dikkat etmelisiniz, kodu bozarsınız).

Temel bilgiler: Kötü değil, tüm hataları el ile düzeltmeniz gerekir. Hataların% 90'ı düzeltmek çok kolaydır, sadece günlükleri takip edin ...

+0

Bu hizmet hızlı 2.0 -> 3.0 dönüştürüyor mu, yoksa sadece form oluştur -> hızlı 2/3 – eonist

+0

Hayır, ama buna gerek yok. Eğer xcode 8.0 ver indirebiliyorsanız ya da> 8.0 otomatik düzeltme bu işi sizin için yapacak. –

+1

Bu teori, IRL bu kadar basit değil. Mesela Aralığı al. Tamamen 3.0 olarak yeniden tasarlandı. – eonist

İlgili konular