View in English

  • メニューを開く メニューを閉じる
  • Apple Developer
検索
検索を終了
  • Apple Developer
  • ニュース
  • 見つける
  • デザイン
  • 開発
  • 配信
  • サポート
  • アカウント
次の内容に検索結果を絞り込む

クイックリンク

5 クイックリンク

ビデオ

メニューを開く メニューを閉じる
  • コレクション
  • トピック
  • すべてのビデオ
  • 利用方法

その他のビデオ

ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。

  • 概要
  • コード
  • 究極のAppパフォーマンスサバイバルガイド

    パフォーマンスの最適化は、追跡が必要な指標や使用するツールが多く、困難なタスクのように思われます。しかし、心配はいりません。このAppパフォーマンスに関するサバイバルガイドは、開発プロセスを円滑にし、Appを使用する人々の素晴らしい体験に貢献するツール、メトリクス、パラダイムを理解するのに役立てることができます。

    リソース

    • Analyzing the performance of your shipping app
    • App Store Connect API
    • Improving app responsiveness
    • MetricKit
    • XCTest
      • HDビデオ
      • SDビデオ

    関連ビデオ

    WWDC23

    • 空間コンピューティングのためのアプリのパワーと性能の最適化

    WWDC21

    • メモリ問題の検出と診断
    • Appのハングアップの理解と解消
    • Appのパワーとパフォーマンスに関する不具合の診断
    • Xcode OrganizerによるTestFlightクラッシュのトリアージ

    WWDC20

    • MetricKitの新機能
    • Power and Performance APIでトレンドを特定する
    • Xcode Organizerでパフォーマンス問題を診断する
    • XCTestを使ってアニメーションヒッチを除去する

    Tech Talks

    • UIアニメーションの滞りおよびレンダーループに対する検討

    WWDC19

    • Instrumentsの概要
  • ダウンロード
    Array
    • 5:46 - Using MetricKit

      class AppMetrics: MXMetricManagerSubscriber {
      	init() {
      		let shared = MXMetricManager.shared
      		shared.add(self)
      	}
      
      	deinit {
      		let shared = MXMetricManager.shared
      		shared.remove(self)
      	}
      
      	// Receive daily metrics
      	func didReceive(_ payloads: [MXMetricPayload]) {
      		// Process metrics
      	}
      
      	// Receive diagnostics
      	func didReceive(_ payloads: [MXDiagnosticPayload]) {
      		// Process metrics
      	}
      }
    • 10:29 - Testing Scroll performance

      func testScrollingAnimationPerformance() throws {
              
          app.launch()
          app.staticTexts["Meal Planner"].tap()
          let foodCollection = app.collectionViews.firstMatch
      
          let measureOptions = XCTMeasureOptions()
          measureOptions.invocationOptions = [.manuallyStop]
              
          measure(metrics: [XCTOSSignpostMetric.scrollDecelerationMetric],
          options: measureOptions) {
              foodCollection.swipeUp(velocity: .fast)
              stopMeasuring()
              foodCollection.swipeDown(velocity: .fast)
          }
      }
    • 11:53 - Using mxSignpostAnimationIntervalBegin

      func startAnimating() {
      	// Mark the beginning of animations
      	mxSignpostAnimationIntervalBegin(
      		log: MXMetricManager.makeLogHandle(category: "animation_telemetry"), 
      		name: "custom_animation”)
      	}
      
      	func animationDidComplete() {
      	// Mark the end of the animation to receive the collected hitch rate telemetry
      	mxSignpost(OSSignpostType.end, 
      		log: MXMetricManager.makeLogHandle(category: "animation_telemetry"), 
      		name: "custom_animation")
      }
    • 13:51 - Using XCTest to Measure Disk Usage

      // Example performance XCTest
      
      func testSaveMeal() {
      	let app = XCUIApplication()
      	let options = XCTMeasureOptions()
      	options.invocationOptions = [.manuallyStart]
      
      	measure(metrics: [XCTStorageMetric(application: app)], options: options) {
      		app.launch()
      		startMeasuring()
      
      		let firstCell = app.cells.firstMatch
      		firstCell.buttons["Save meal"].firstMatch.tap()
      
      		let savedButton = firstCell.buttons["Saved"].firstMatch
      		XCTAssertTrue(savedButton.waitForExistence(timeout: 2))
      	}
      }
    • 21:19 - Collect memory telemetry

      // Collect memory telemetry
      
      func saveAppAssets() {
      	mxSignpost(OSSignpostType.begin, 
      		log: MXMetricManager.makeLogHandle(category: "memory_telemetry"), 
      		name: "custom_memory")
      
      	// save app metadata
      
      	mxSignpost(OSSignpostType.end, 
      		log: MXMetricManager.makeLogHandle(category: "memory_telemetry"), 
      		name: "custom_memory")
      }
  • 特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。

    クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。

Developer Footer

  • ビデオ
  • WWDC21
  • 究極のAppパフォーマンスサバイバルガイド
  • メニューを開く メニューを閉じる
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • SF Symbols
    メニューを開く メニューを閉じる
    • アクセシビリティ
    • アクセサリ
    • App Extension
    • App Store
    • オーディオとビデオ(英語)
    • 拡張現実
    • デザイン
    • 配信
    • 教育
    • フォント(英語)
    • ゲーム
    • ヘルスケアとフィットネス
    • アプリ内課金
    • ローカリゼーション
    • マップと位置情報
    • 機械学習
    • オープンソース(英語)
    • セキュリティ
    • SafariとWeb(英語)
    メニューを開く メニューを閉じる
    • 英語ドキュメント(完全版)
    • 日本語ドキュメント(一部トピック)
    • チュートリアル
    • ダウンロード(英語)
    • フォーラム(英語)
    • ビデオ
    Open Menu Close Menu
    • サポートドキュメント
    • お問い合わせ
    • バグ報告
    • システム状況(英語)
    メニューを開く メニューを閉じる
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles(英語)
    • フィードバックアシスタント
    メニューを開く メニューを閉じる
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program(英語)
    • News Partner Program(英語)
    • Video Partner Program(英語)
    • セキュリティ報奨金プログラム(英語)
    • Security Research Device Program(英語)
    Open Menu Close Menu
    • Appleに相談
    • Apple Developer Center
    • App Store Awards(英語)
    • Apple Design Awards
    • Apple Developer Academy(英語)
    • WWDC
    Apple Developerアプリを入手する
    Copyright © 2025 Apple Inc. All rights reserved.
    利用規約 プライバシーポリシー 契約とガイドライン