iOS 9とXcode 7のアップグレード後にクラッシュソリューションを適用

1740 ワード

私は先月、Swiftで開発したアプリを開発しました.最近、Xcode 7と携帯電話をiOS 9にアップグレードしました.0.2後、プログラムがクラッシュし、より多くのエラーが発生しました.現在も一部App Storeからダウンロードされているアプリケーションがあり、iOS 9システムでフラッシュバックが発生している場合は、これらのアプリケーションもSwiftで書かれていると思います.この問題を分析して解決します.
【一】Xcode 7のSwiftバージョンはXcode 6と異なるためである.4の中のSwiftの中のSDK、Xcode 7の中のSwiftは主に文法の問題を変えて、つまり1つの強制的なタイプの変換です.Xcode 6.4では、次のコードをコンパイルできます.
var cellcell = UITableView()

let cell = self.***TableView.dequeueReusableCellWithIdentifier("***") as! UITableViewCell

cell.textLabel?.text = "Hello World"

cellcell = cell

しかし、Xcodeに来るとエラーが発生し、次のコードに変更する必要があります.
var cellcell = UITableView()

let cell = self.***TableView.dequeueReusableCellWithIdentifier("***")

cell!.textLabel?.text = "Hello World"

cellcell = cell!

問題の鍵はasを用いた強制型変換によるものである.その中で最初のSwiftから現在のバージョンまで、Swiftが何度も変更してきたのがこのモジュールです.もっと早いSwiftコードを探して、今コンパイルしてみましょう.多くの場合、asタイプの変換にエラーが発生しています.もちろん、optionalオプションの問題もあります.optionalはSwiftの特徴で、理解しにくいので、よく考えなければなりません.
次に、コンパイルできない問題は、サードパーティOCライブラリの導入の問題である.私のプロジェクトではサードパーティのSDKを使用しているため、Build Phases-->Link Binary With Librariesに多くの*を導入しています.framework,*.dylib,*.aなどのライブラリファイル.コンパイル中に次のエラーが発生します.
You must rebuild it with bitcode enable(Xcode setting ENABLE_BITCODE).
ソリューションはブログを参照してください.http://blog.csdn.net/zhyl8157121/article/details/48528831   .
【3】最終的なコンパイルに問題はありませんが、実行中にネットワークデータにアクセスできないという問題が発生し、次のようなヒントが表示されます.
#warning:app構成情報の取得に失敗しました:The resource could not be loaded because the App Transport Security
ソリューションはブログを参照してください.http://bbs.feng.com/read-htm-tid-9619460.html   .
私は一晩中振り回された後、久しぶりにアプリがやっと携帯電話で楽しく走り始めた.
githubホームページ:https://github.com/chenyufeng1991  .ようこそ!