Apple、iOS 12などをサポートした「Xcode 10.0」をリリース

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のソフトウェア・アップデートよりおこなえます
Xcode 10 0 001

バージョン 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 )
  1. By Takashi Kosaka

    私が、直面している問題で、分かった点:
    XCode10で、Objective-Cでコンパイルしたアプリケーションは、AD-HOCでiOS12では、動作しない。
    XCodeから開発用のプロビジョンプロファイルで、アプリを実機で実行しようとすると、実機がアプリの
    起動を拒否する。当然、XCode10で配布用プロビジョンプロファルでAD-HOCアプリをテスターに渡しても動作しない。

    iOS11やシミュレータでは、動作確認ができるが、iOS12の実機では、動作確認ができない。 Appleは、XCode10でコンパイルしたアプリをiOS12の実機で動作確認していないのでは、ないかと思ってしまう。

  2. By Takashi Kosaka

    検証の結果、分かったこと、 
    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”を認識していないデバイスで、チェックしても発見できるはずがなく、「わざと起こしている」という回答は、理解できる。 しかし、アップル以外で、通常の端末を利用して、開発を行っている場合、必ずこの問題に直面する。

LEAVE A REPLY

*
*
* (公開されません)