Swift3中断します!!
近況
過去エントリーの通り、9月の頭まで製作していたSakuraSprtの製作終了後、
趣味の一貫として"ModelApp"というGPSを利用した類似アプリを製作していた。
課題点
このアプリ製作においては、
iOS10の登場に伴うXcode8の登場、更にそれに伴うSwift3への移行が課題点であった。
作業が進まない原因
ここで勘違いをしていたのだが、
→ iOS10で動かすためには、Xcode8が必要。
→ Xcode8からはSwift3が導入されている。
→ Swift3はSwift2.3の改良版なので移行したほうがいい。
という思考をして、今まで取り組んでいた。
しかし、実際は
→ iOS10で動かすためには、Xcode8が必要。 : ほぼ◯:裏技あるっぽい
→ Xcode8からはSwift3が導入されている。 : ◯
→ Swift3はSwift2.3の改良版なので移行したほうがいい。 : △
やはり最初なのでバグがあるっぽいということと、何より情報が少なすぎる。
というわけで...
Swift3やめました!!!
とりあえずSwift2.3で今まで通りやっていきます!!
Swift3 → Swift2.3に逆変換
とりあえず設定変更。
参考リンク:Xcode8だけどSwift2.3で実行したい人向け対応 - Qiita
SakuraSprtのソースコードを見ながら、
ModelAppのコードエラーを一つずつ対処していくことに。
問題発生
全てのエラーを対処して、実行!そして成功!!
...かと思いきや、計測スタートボタンを押すと、、、
Outletとかも全て正常だし、いままで見たsignal SIGABRTとは違い原因不明。
解決法
めtttttttっちゃ色々な記事を探した結果、
Xcode8でXcode7で作ったプロジェクトを開いて、XIBから追加したActionがエラーになるときの対処法 - Qiita
↑↑これが原因だと判明。↑↑
"withSender"の記述で普通に動いた!
ついでにもう一個悩んでたこと
ModelAppをSwift3で作っていたときに、
polyline(GPSの経路線を描く時に利用)が描かれるはずなのだが、
何度シミュレートしても位置が動くだけで線が引かれないという現象があった。
今回の逆変換の一件で判明したのだが、
このあたりの記述が途中で切れていた。
(rendererFor overlay : ~~~となっていた)
ちゃんと書き直したところ普通に線引かれるように修正された。