読者です 読者をやめる 読者になる 読者になる

ChanLab Report

近況の備忘録ブログ

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のコードエラーを一つずつ対処していくことに。

問題発生

全てのエラーを対処して、実行!そして成功!!
...かと思いきや、計測スタートボタンを押すと、、、
f:id:changmin1015:20161008195330p:plainf:id:changmin1015:20161008195334p:plain
Outletとかも全て正常だし、いままで見たsignal SIGABRTとは違い原因不明。

解決法

めtttttttっちゃ色々な記事を探した結果、
Xcode8でXcode7で作ったプロジェクトを開いて、XIBから追加したActionがエラーになるときの対処法 - Qiita
↑↑これが原因だと判明。↑↑
"withSender"の記述で普通に動いた!

ついでにもう一個悩んでたこと

ModelAppをSwift3で作っていたときに、
polyline(GPSの経路線を描く時に利用)が描かれるはずなのだが、
何度シミュレートしても位置が動くだけで線が引かれないという現象があった。

今回の逆変換の一件で判明したのだが、
f:id:changmin1015:20161008200510p:plain
このあたりの記述が途中で切れていた。
(rendererFor overlay : ~~~となっていた)
ちゃんと書き直したところ普通に線引かれるように修正された。