2016-08-22 92 views
3

這是我第一次將我的代碼更新爲新版本的iOS和主要代碼更改(如Swift 3)的第一次真實邂逅。我想獲得一些關於良好實踐和標準過程的信息,關心這些話題。iOS 10和swift 3轉換問題

首先,我是否應該等到Xcode 8完全發佈之後再嘗試將我的代碼轉換爲Swift 3?看起來隨着測試版的發展,代碼轉換功能變得更加智能和準確。另外,在beta版IDE中編輯是否安全?其次,我的應用程序在iOS 9上運行良好,功能完美。但是,在iOS 10上,UI元素正在發生變化(更改位置,而不是更新),並凍結在iOS 9中不明顯的特定位置。這是由於iOS 10中將更新的函數名稱的更改嗎?此外,這些錯誤會在貝塔斯理順時「修復自己」嗎?

感謝您的幫助!

回答

1

該建議與所有Xcode測試版本大致相同:將Xcode(esp Swift 3)的測試版視爲您可以玩的「沙盒」,但不要轉換生產項目。或者,更準確地說,隨意轉換它,這樣你就可以在沙箱中玩,這樣當Swift 3出來測試時你就可以做好準備,但是知道當前的測試版Swift 3會有進一步的變化。確保你保留你現有的生產代碼/項目,直到Xcode 8超出測試版)。永遠不要打算在Xcode 7.x中打開Swift 3項目。保持Swift 3代碼和原始Swift 2.x項目完全隔離。

重新在iOS 10上使用您的iOS 9應用程序,我很驚訝您發現您的iOS 9應用程序出現問題(特別是iOS 10 beta 7),因爲大部分這些問題都已經制定出來了。如果某些東西不能正常工作,那麼這是一個邊緣情況,因爲大多數編寫得很好的iOS 9代碼可以與iOS 10無縫協作。有API更改,但爲iOS 9構建的應用程序通常可以在iOS 10設備上正常運行。有很少的東西會導致你描述的那些視覺工件/錯誤。你有問題,你應該發佈一個新的問題,並說明問題MCVE

+0

感謝您的回答!這有助於爲我清除一些事情。然而,另一個問題是,如何在不轉換爲Swift 3的情況下在iOS 10中測試我的應用程序(同時查看錯誤代碼和堆棧跟蹤)? –

+0

您可以通過各種不同的方式在iOS 10設備上從Xcode 7安裝應用程序,例如, http://stackoverflow.com/a/35044362/1271826。但是,我認爲你已經做到了這一點......你是如何得出這些UI控件在iOS 10上行事的? – Rob

+0

我有我的iPhone上的iOS 10測試版,我通過Xcode中的設備安裝應用程序 –

0

鑑於你的問題,我會指出我遇到的一些事情。我會保留原始格式的Swift 2.2代碼的副本,這可能看起來很明顯,但它幫助我,所以我把它放在那裏。我遇到的一個特定問題是運行我的轉換代碼的「線程1:信號SIGABRT」。我剛剛在故事板中刪除了我的對象連接,在這種情況下是一個UIButton對象,在轉換之後,重新組合它們,錯誤消失。我仍然在努力轉換代碼,所以當我找到某些東西並修復它時,我會將其添加到我的帖子中。我會建議,如果你在做轉換時得到了一些具體的內容,只需提出一個不同的問題併發布即可。它使事情變得簡單。