タイトルにあるように今更ながら、Xcode 7でいろいろあったBitcodeについてまとめてみました。 まずはじめに、BitcodeとはXcodeのビルドフローにおける中間言語(LLVM IR)のバイナリ表現です。 LLVM IRにはテキスト表現とバイナリ表現の2種類がありますが、そのうちのバイナリ表現になります。 また、Xcodeの基本的なビルドフローは以下のようになります。 フロントエンドのClangがソースコードを中間言語(LLVM IR)に変換する バックエンドのLLVMがLLVM IRをマシン語に変換する で、Xcode 7以降はデフォルトでBitcodeを含んだデータを生成するようになった感じです(もちろんBuild Settingsで無効にできます。詳しくはこの記事を) Bitcodeを有効にすることでApple側でアーキテクチャに合ったコンパイルをしてくれるなど、メリットが
ずばりこの設定です。 ExceptionはAllでも良いですが、実際の動作に問題無い内部例外に反応しちゃったりするのでObjective-Cにしてます。 po $arg1について気になると思いますが、そこだけ見たい方はこちら 通常、クラッシュするとここでブレークしちゃうため、 左下の+ボタンから、これを追加しておくとクラッシュ時に原因箇所で止まって捗るテクはそこそこ有名だと思います。 このようにブレークする場所が分かりやすくなる: po $arg1について さらに、こちらは有名じゃないと思いますが、Debugger Commandアクションに以下を入力しておくと、 このようにブレークすると同時に自動的に原因のログを出力してくれます。 無設定だと、1回目にブレークした時点ではクラッシュについてのログは何も出ていなくて、1・2回デバッグcontinueボタンを押すと、ログが吐き出されます。 即
Xcode の便利プラグインまとめ はじめに Xcode 8 からのいわゆる Xcode Source Editor Extension ではなく、あくまで非公式のプラグインを掲載します。 インストール先は ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/ Alcatraz などのパッケージマネージャを使うと管理が楽 Xcode の更新でプラグインが使えなくなる事もあるので注意 "DVTPlugInCompatibilityUUID" を追記する事で対応出来る場合もある(後述) 管理 Alcatraz Xcode プラグインや Color Scheme などを管理するパッケージマネージャ。これを入れておけばこの記事を見なくてもだいたいのプラグインは参照できます。 メニューバー > Window > Package
はまったのでメモ 実機をmacbookに接続し、コマンド+Rでデバッグを開始すると 「Error launching remote program: failed to get the task for process XXXX」 が発生し、デバッグが行えない。 原因はBuild時の設定がDebugではなくDistributionになっていたことと判明 設定方法は以下の通り 1.DeviceからEdit Schemeを選択 2.Build ConfigurationのプルダウンよりDebugを選択 3.OKボタンを押し、設定を保存。 とりあえずこれで回避できた。 おそらくBuild Configurationごとに使用するProvision Profileが違うんだろうなぁ。。。 Provision Profileの設定をどこで行うかは引き続き要調査だな。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く