
Xcode 5.1、iAd Producer 4.1.2 がリリースされ、iOS 7.1 との互換性が向上c
iPad、iPhone、iPod touch のお客様向けの iOS 7.1 のリリースに合わせて、Apple は Xcode と iAd Producer を更新し、iOS 7.1 デバイスでより適切に動作するように機能強化しました。
iAd 4.1.2 はすでに Mac App Store のソフトウェア アップデート セクションに表示されています。
Xcode 5.1 は Mac App Store にも登場しており、次のリリース ノートとともに Developer Center にも掲載されています。
新機能
デバッグ
- 開発者定義クラスにクイックルックを実装できます。デバッガの変数ビューまたはデータヒントでクイックルックを使用してカスタムクラスのインスタンスを表示すると、デバッガは
-debugQuickLookObject
クラス実装で定義されたメソッドを使用してそのインスタンスを表示します。この機能の使用方法の詳細については、 「Xcodeデバッガでのカスタム型のクイックルック」を参照してください。(12723736) - ログ ブレークポイント アクションは、式の論理値を出力するようになりました。たとえば、 などのログ ブレークポイント アクションは 、ポインター値ではなく、
"myString = @myString@"
の値を出力します 。(13211695)myString
ユーザーインターフェースの編集
- Interface Builder ドキュメントには、使用される新機能や必要な OS バージョンに関する具体的な情報を含めることができるため、以前のバージョンの Xcode では、そのようなドキュメントを開こうとするときに、より適切な警告メッセージを表示できます。(7659982)
- 自動レイアウトを使用して Interface Builder でインターフェースを構築すると、アスペクト比、比例サイズと位置、属性間の配置、制約のほぼすべてのプロパティを編集する機能を備えた新しい制約インスペクターなど、可能な制約タイプの完全なスイートが提供されます。
- Interface Builderの制約属性インスペクタでは、制約の項目と属性が表示され、属性を編集できます。この機能により、次のような属性間の制約を作成できるようになります
view1.centerY = view2.bottom
。(13739009) view1.leading <= view2.leading
Interface Builder を使用すると、位置合わせ制約 (例: ) や等サイズ制約 (例: )など、あらゆるタイプの制約の関係を編集できますview1.width >= view2.width
。(14721954)- Interface Builder では、アスペクト比と比例サイズ制約を作成し、制約の乗数を編集できます。乗数は、小数(例:
0.5
)、分数(例:1/2
)、またはアスペクト比(例:1:2
)で指定できます。(11935843) - Interface Builder で曖昧なビューに設定された制約は、曖昧さのある軸のみオレンジ色で描画されます。これにより、キャンバス上で潜在的な問題をより早く特定できるようになります。(15114120)
- Interface Builder キャンバスでは、システム環境設定の一般パネルの「スクロールバーを表示」設定に基づいて、適切な場合にオーバーレイ スクローラーが表示されるようになりました。(10069033)
- Interface Builder インスペクタでは、以下がサポートされるようになりました。
NSTableView
–floatsGroupRows
不動産 (9617000)UISegmentedControl
–apportionsSegmentWidthsByContent
不動産 (9950528)UITableView
–sectionIndexBackgroundColor
不動産 (14776025)- プロトタイプの「詳細」ボタンタイプの設定
UITableViewCell
–editingAccessoryType
プロパティ (15039987)
楽器と象徴化
- Instruments はシンボルをより確実に検出できるようになりました。シンボルが自動的に表示されない場合は、次の操作を試してください。
- を使用する場合など、Xcode 派生データに対して Spotlight インデックス作成が無効になっている場合は
/tmp
、Instruments 環境設定で構成された追加の検索パスのグローバル リストを追加します。 - アドレスのコンテキスト メニューに、特定のシンボル ファイルを追加するためのオプション「DSYM でシンボル化」が追加されました。
- 個々の実行可能ファイルとライブラリの状態の詳細なリストを表示するには、[ファイル] メニューの [シンボル] コマンドを使用します。
- 緑色のライトは、シンボルとソース情報の存在を示します。
- 黄色のライトは、いくつかのシンボルを含むライブラリを示しますが、dSYM を見つけることでメリットが得られます。
- 赤色のライトは、記号化を妨げた状況を示します。(14269449)
- を使用する場合など、Xcode 派生データに対して Spotlight インデックス作成が無効になっている場合は
- コマンド
instruments
ラインツールで、フラグを使用してシミュレータSDKとデバイスタイプを指定できるようになりました-w
。サポートされているシミュレータ構成と接続デバイスの一覧を確認するには、instruments -s devices
ターミナルウィンドウで実行してください。(14996865)
スクリプトによるインストール
- デバイスサポートのインストールコマンドラインから実行すると、Xcode.app は新しいコマンドライン引数 を受け取ります
-installComponents
。このオプションを使用してコマンドラインスクリプトから Xcode を実行すると、必要なデバイスサポートパッケージがインストールされ、終了します。(15127411)
一般的な
- 絵文字やその他の Unicode サロゲート ペアは、スキーム設定とプロジェクト ファイルでサポートされています。(14837623 および 13827044)
変更点
建物
- Arm64が「標準アーキテクチャ」設定に含まれるようになりました。Xcode 5.0では64ビットiOSアプリケーションのビルドサポートが導入されましたが、デフォルトでは有効になっていませんでした。Xcode 5.0で64ビットビルドのオプションを有効にするために、「64ビットを含む標準アーキテクチャ」(
ARCHS_STANDARD_INCLUDING_64_BIT
)というアーキテクチャ設定が追加されました。Xcode 5.1の導入により、arm64がデフォルトの「標準アーキテクチャ」ビルド設定に含まれるようになりました。これにより、デフォルト設定を使用するプロジェクトは、標準の32ビットアーキテクチャに加えて、arm64も自動的にビルドされるようになります。
- 「64 ビットを含む標準アーキテクチャ」を使用するように構成されたプロジェクトは、「標準アーキテクチャ」に変換されます
$(ARCHS_STANDARD)
。
コンパイラ
- Apple LLVMコンパイラバージョン5.1(clang-502)以降では、最適化レベルは
-O4
リンク時最適化(LTO)を暗黙的に含まなくなりました。LTOを明示的に有効にしてビルドするには、-flto
最適化レベルフラグに加えてこのオプションを使用してください。(15633276)
テスト
- コードカバレッジテストツール
gcov
が再実装されました。新バージョンでは、llvm-cov
LLVMプロジェクトのツールを使用しています。すべての重要な機能において、旧バージョンと同等の機能を備えています。Xcode内の の場所 も変更されました。xcrun を使って起動してください。問題が発生した場合は、バグレポートを提出してください。このリリースでは、 GCCのgcov
旧バージョンの も引き続きご利用いただけます 。これは として提供されています。11919694 更新gcov
gcov-4.2
既知の問題
ユーザーインターフェースの編集
- Interface Builder のスタックビューに追加されたカスタムビューが、「配置ミスのあるビュー」(不整合)状態のままになることがあります。回避策として、適切なコンテンツ ハグと圧縮耐性の優先順位を使用して、カスタムビューのプレースホルダーの固有サイズを設定します。(15778653)
テスト
- iOS シミュレータで実行される自動テストは、次のようなエラーで失敗する場合があります。
Test target [test name] encountered an error (Test process exited with code -1)
シミュレータを終了して再起動することで回復を試みます。(15929053)
Xcode サーバー
- Xcode 5.1の継続的インテグレーション機能(ボット)には、OS X Server v3.1(またはOS X Server 3.1ベータ版)以降が必要です。16225068 更新
- サーバーホストに古いバージョンのXcodeが存在する場合、Xcode Serverがすべてのシミュレータを表示することがあります。Xcode 5.1に適したシミュレータのみを使用するようにしてください。(15465692 & 15153869)
- Xcodeサーバーは、プロジェクトの条件に合うデバイスやシミュレータがない場合でも、「すべてのデバイス」または「すべてのシミュレータ」を提案します。不適切なデバイスやシミュレータを選択した場合、次のようなエラーが表示されることがあります。
xcodebuild: error: No destinations were specified with the -destination flag which were valid for the specified scheme <scheme_name>.
これを防ぐには、プロジェクトに有効なデバイスまたはシミュレータのみを指定します。(15465222)
- Xcode を使用して OS X Server 上に新しいローカル リポジトリを作成しようとすると、次のようなエラー メッセージが表示されることがあります。
xcode-select: note: no developer tools were found at '/Applications/Xcode.app', requesting install. Choose an option in the dialog to download the command line developer tools.
この問題を解決するには、OS X Server ホスト システムに表示されるダイアログの指示に従います。(15475078 および 15486464)
- Xcode 5.1 および OS X Server 3.1 にアップグレードした後、初めてサーバーを追加するときに次のようなエラーが表示されることがあります。
"<Server> is running a version of OS X Server that cannot be used with this version of Xcode."
このメッセージを消すには、Xcodeを一度終了して再起動してください。16217715 更新
iOSシミュレーター
- シミュレートされた OS バージョン iOS 6.1 以前の OS X Mavericks 上の iOS シミュレータ内でアプリを実行すると、パフォーマンスの問題が発生する可能性があります。回避策としては、ターミナル ウィンドウで次のコマンドを実行して、iOS 6.1 以前のシミュレータの使用中にタイマーの結合を無効にすることです。
sudo sysctl -w kern.timer.coalescing_enabled=0
(15501929) - iOS シミュレーターは、ハードウェア キーボードに応答しなくなることがあります。シミュレーターを終了して再起動すると、通常はこの問題は修正されます。(14642684)
一般的な
- Xcode Organizer を使用して複数のアプリケーションを順番に検証すると、バンドル ID に関する誤った警告が表示される場合があります。これらの警告が表示された場合は、検証の合間に Xcode を終了して再起動してください。15113664 を更新しました。
- Xcode 5.1で作成された実行ファイルはOS X v10.5でクラッシュする可能性があります。(15852259) 更新
解決された問題
テスト
- マクロ
XCTAssertEqual
(以前はSTAssertEquals
OCUnitを使用)は、キャストなしで異なる型のスカラー値(例:int
とNSInteger
)を正しく比較します。構造体などの非スカラー型を比較できなくなりました。(14435933)
一般的な
- iCloud を使用するものなど、プロビジョニング プロファイルを必要とする OS X アプリがビルドされ、正しくコード署名され、起動するようになりました。(15841159)
廃止予定
- OCUnitとSenTestingKitフレームワークは非推奨となり、Xcodeの将来のリリースから削除される予定です。OCUnitを使用したソースコードは、Xcode 5.1でコンパイル時に警告が発生します。「編集 > リファクタリング > XCTestに変換…」メニューコマンドを使用してXCTestに移行してください。
- ATSフレームワークは非推奨となりました。ATS APIを使用したソースコードは、コンパイル時に警告を生成します。バージョン10.8では機能の損失はありませんが、パフォーマンスが低下する可能性があります。すべてのATSコード( を含む
ATSUI
)を にCoreText
置き換えてください。ATS機能は将来のOS Xリリースで削除されます。この変更に関する詳細は、『Core Textプログラミングガイド』をご覧ください。
havebin.com を Google ニュース フィードに追加します。
FTC: 収益を生み出す自動アフィリエイトリンクを使用しています。詳細はこちら。