Xcode10の怠惰
三ヶ月ほど前、自作のメトロノームwatchアプリがAppleWatch4で動かないことが判明。
あぁそうか、Watch4はiOS 12、watchOS 5を要求するんだったけ、と気軽にXcode10を立ち上げてみたのが地獄の始まり。
今まで通りビルトまではできるのに、Watchのシミュレーターでアプリが立ち上がりません。
Xcodeのデバッガでは「Simulating crash: Condition failed:"NO". Couldn't instantiate class」と出て、そのあとに自分が作ったエクステンションの名前が続きます。 が、メインのエラーメッセージはあの呪いの「signal SIGABRT」。 そう、むしろswiftの文法エラーの方がありがたいという厄介もの。 Xcode遣いを悩ます何が何やらわからんエラーです。
これはいわばXcodeの非常に原始的とも言えるバグみたいなもので、今回はXcodeのバージョン10にしたことが直接の原因、ネットを見ても多数の症例と解決策があるものの、どれが自分のトラブルに有効なのかわからない。
あまりにも意味不明なので、GSの深夜バイトも含めて時々立ち上げては解決策が見つからないというのが約三ヶ月続いて半ば諦めモード。 でもこれで諦めるのも癪に障るし、今後のトラウマになること間違いなし。
んで、今度は昼間に二日ほどじっくりと(いや、他の会社で仕事中だったんだけどね)時間をかけてあれこれやってたら、プロジェクト名を変更するという海外の情報が半分役に立ちました。
半分、というのは、名前を変えてみたものの、それを元にした各種ライブラリの名前が違うというトラブルが出て失敗。 何じゃそれ、と落胆しつつ元の名前に戻したら、signal SIGABRTが消えました。
何じゃそれ〜〜〜〜〜〜っ! 三ヶ月の苦労はなんやって〜ん!
いや、世界のApple系開発者はこんなヘボなフレームワークを使わされているんだと思うと思わず涙目になってしまいます。
アップルのサイトでは子供や女性をプログラム開発に招き入れる様々なイベントやら取り組みが超ハッピートーンで紹介されていますが、あれを見るたびこのsignal SIGABRTの低次元爆弾のことを思い出してしまいます。
あ、この解決策、たまたま今回のsignal SIGABRTでは正解だっただけで、原因&対策は千差万別であることを覚悟してください>藁をもすがる気持ちでここに辿り着いたXcode難民の方々
| 固定リンク
「iOS と Xcode」カテゴリの記事
- HyperTalk的Swiftの解釈(2019.07.28)
- Xcode、シミュレーター、実機、メモリリーク(2019.07.25)
- 盆灯篭アプリ公開(2019.07.21)
- 日本のSceneKitの原点(2019.07.14)
- AppStoreで異なるバージョンのアプリを共存させる(2019.05.08)
コメント