[Xcode 7] Xcode 7でビルドしたら画面遷移でフリーズした

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは!加藤潤です。
今回はXcode6.4では正常に動作していたSegueがXcode7.1でビルドした時に機能しなくなりフリーズしてしまった場合の対処法をお伝えします。

開発環境

開発環境は下記の通りです。

  • Xcode 7.1
  • iPhone 6sシミュレータ

何が起こったか

Xcode6.4で以下のような画面を作ったとします。

segue-notworking_001

なんてことはないよくある画面遷移ですが、これをXcode 7.1でビルドしたら以下のように画面遷移せずにフリーズしてしまいました。。。 アプリがクラッシュするわけではなく、エラーログも出力されずにただただフリーズ。。。

segue-notworking_002

調べてみるとXcode 7.1でビルドしても全ての画面遷移でフリーズするわけではなく、どうやら以下の条件を満たすとフリーズしてしまうようです。

  1. 遷移先の画面にUITextViewがある
  2. Storyboard上でUITextViewのTextをデフォルトから変更している

対処法

対処法として、以下に挙げた方法のいずれかで解決できることを確認しました。

  • Storyboard上で設定しているUITextViewのTextを空にする
  • 既存のUITextViewを削除し、再配置した後にデフォルトのTextを残す

いずれにしてもUITextViewのTextはコード上で設定する必要があります。

まとめ

今回ご紹介した現象はもしかすると次のXcodeのバージョンでは起こらなくなるかもしれませんが困った時の対処法としてだれかのお役に立てれば幸いです。

参考