Apple、iOS 12などをサポートした「Xcode 10.0」をリリース
Xcode 10.0
Appleは、iOS 12、watchOS 5、tvOS 12、macOS MojaveのSwift 4.2とSDKが含まれる「Xcode 10.0」をリリースしています
アップデートは、Mac App Storeのソフトウェア・アップデートよりおこなえます
バージョン 10.0の新機能
macOS Mojaveのダークモード
- XcodeとInstrumentsの間で、すべて新しい暗い外観
- アセットカタログでは、色とイメージのアセットをカスタマイズするために、濃淡のバリエーションが追加されます
- Interface Builderは、アプリのインターフェースの暗い種類と軽い種類を簡単に切り替えます
- デバッガは、OSの設定を変更せずに、マック・アプリケーションをダーク・ライト・バリアント間で切り替える
ソース管理
- リポジトリサーバと異なるコードは、エディタ内で直接強調表示されます
- 共有リポジトリにプッシュされていないローカル変更
- 他の人が行ったアップストリームの変更
- コミットする前に対処する競合
- Atlassian Bitbucket、GitLab、およびGitHubの自己ホストおよびクラウドサーバーとのアカウント統合
- アカウントログインによりオンデマンドでSSH鍵が生成され、サービスプロバイダにアップロードされます
- Rebaseは、最新バージョンのコードをプルする際のオプションです
エディタの拡張
- エディタ内の複数のカーソルは、一度に多くの変更を可能にします
- コード折りたたみリボンは、中括弧で囲まれたコードブロックを隠すことができます
- オーバースクロールを使用すると、コードの最後の行を画面中央に表示しやすくなります
Playgrounds と machine learning
- 完全に再設計されたREPLのような遊び場は、はるかに速く安定しています
- SHIFT-RETURNを押すか、インライン実行ボタンをクリックしてコードを実行し、特定の行に実行する
- Playgroundsで新しいCreate MLモデルを対話的に訓練してトレーニングする
テストとデバッグ
- デバッグシンボルは、デバイスから以前に比べて5倍高速にダウンロードされます
- 複数のシミュレータ間でテストを並列実行すると、すべてのCPUコアを最大限に活用できます
- カスタム・インストゥルメントは、任意のコードに対して一意のデータ視覚化を提供
- メモリデバッガのレイアウトが再設計され、アプリ全体をナビゲートして視覚化しやすくなりました
- メタルシェーダデバッガは、頂点、フラグメント、計算、タイルシェーダコードの実行を検査します
- メタル依存ビューアは、リソースの使用方法の詳細なグラフを表示します
ビルドのパフォーマンス
- 新しいビルドシステムはパフォーマンスを向上させ、デフォルトですべてのプロジェクトで有効になります
- Swiftは個々のファイルを大幅に高速にコンパイルし、インクリメンタルビルドを大幅に改善します
COMMENTS & TRACKBACKS
- Comments ( 2 )
- Trackbacks ( 0 )
私が、直面している問題で、分かった点:
XCode10で、Objective-Cでコンパイルしたアプリケーションは、AD-HOCでiOS12では、動作しない。
XCodeから開発用のプロビジョンプロファイルで、アプリを実機で実行しようとすると、実機がアプリの
起動を拒否する。当然、XCode10で配布用プロビジョンプロファルでAD-HOCアプリをテスターに渡しても動作しない。
iOS11やシミュレータでは、動作確認ができるが、iOS12の実機では、動作確認ができない。 Appleは、XCode10でコンパイルしたアプリをiOS12の実機で動作確認していないのでは、ないかと思ってしまう。
検証の結果、分かったこと、
XCode9で同じアプリを構築して、AD-HOCでiOS12 のデバイスに載せると、動作する。 iOS12もしくは、XCode
10には、”Code Sign” に関連するバグがあると思う。 XCode10は、Code Sign をアプリに埋め込む処理で、iOS12が認識できない埋め込み方をしていると予想する。 一方iOS12は、”Code Sign”の読み込み方かチェックの方法がiOS11 とは異なっており、XCode10で埋め込まれた”Code Sign”は、認識できない模様。
iOS11は、XCode 9, XCode 10 で埋め込まれた”Code Sign”を正しく認識する。 また、XCode 9 で、埋め込んだ”Code Sing”は、iOS11, iOS12でも正しく認識される。
この問題は、Code Signを認識しないであろうデバイスを使っているアップルのテスターでは、絶対に発見できない。バグレポートとして、この問題を報告したが、「わざと起こしている」との回答を得た。”Code Sign”を認識していないデバイスで、チェックしても発見できるはずがなく、「わざと起こしている」という回答は、理解できる。 しかし、アップル以外で、通常の端末を利用して、開発を行っている場合、必ずこの問題に直面する。