Upgrade to Pro — share decks privately, control downloads, hide ads and more …

気づいて!アプリからのSOS 〜App Store Connect APIで始めるパフォーマ...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

気づいて!アプリからのSOS 〜App Store Connect APIで始めるパフォーマンス健康診断〜

iOSDC2025のルーキーズLTで発表した内容となります。

皆さん、最近健康診断は受けましたか?
実はアプリでも健康診断は行われているんです。

起動時間やHang率など、パフォーマンスデータは自動で記録されています。
ただし、それを確認するにはXcode Organizerを開いて自分で見に行く必要があります。
でも、わざわざ開くのは面倒だし、忙しいとつい忘れてしまいます。
そのまま見逃してしまえば、アプリからのSOSに気づけないままに…。
・バッテリー消費が激しい
・スクロールがカクつく
・画面がフリーズする
こうした不調が続けば、ユーザーのiPhoneからあなたのアプリが静かに削除されてしまうかもしれません。

本トークでは、App Store ConnectAPI × GitHub Actions で構築する自動パフォーマンス監視体制について、5分で解説します。

Next Talk's HINT:
・App Store ConnectAPI(perfPowerMetrics)
・GitHub Actions
・Xcode Organizer

Avatar for Wakabayashi Rikuma

Wakabayashi Rikuma

September 20, 2025

More Decks by Wakabayashi Rikuma

Other Decks in Programming

Transcript

  1. { "version": "1.0.0", // アプリバージョン "insights": { "regressions": [], //

    パフォーマンス悪化を検知 "trendingUp": [] // 悪化傾向を検知 }, "productData": [] // 詳細なメトリクスデータ } Response
  2. { "version": "1.0.0", // アプリバージョン "insights": { "regressions": [], //

    パフォーマンス悪化を検知 "trendingUp": [] // 悪化傾向を検知 }, "productData": [] // 詳細なメトリクスデータ } Response
  3. "insights": { "regressions": [ { "metricCategory": "BATTERY", "latestVersion": "8.14.0", "metric":

    "onScreen", "summaryString": "Top (90th percentile) ScreenOn ...", "referenceVersions": [ "8.10.0", "8.11.0", "8.12.0", "8.13.0" ], "maxLatestVersionValue": 0.48, "subSystemLabel": "Networking", "populations": [ { "deltaPercentage": 55, "percentile": "percentile.ninety", "summaryString": "Increased 55% across iPhone (All)", "referenceAverageValue": 0.31, "latestVersionValue": 0.48, "device": "all_iphones" } ] }, … ], "trendingUp": [] }
  4. name: Performance Check on: schedule: - 毎日10時 jobs: check: steps:

    - perfPowerMetrics APIを実行 - insightsの中身(悪化)を検知 - チャットへ通知 (自動でIssue作成) GitHub Actionsで自動化