Skip to content

Use xcodebuild app thinning report in perf tests to track size of iOS apps over time #40471

@jmagman

Description

@jmagman

Description

The perf tests currently tars the iOS ipa as a proxy for final app size. Instead, an "app thinning report" could be generated from a xcarchive:

xcodebuild -exportArchive -archivePath  /path/to/xcarchive -exportPath /path/to/export/location -exportOptionsPlist ExportOptions.plist

See xcrun xcodebuild -h for the valid export options plist keys. This was the plist I used for veggieseasons:

$ plutil -p ExportOptions.plist 
{
  "method" => "ad-hoc"
  "thinning" => "<thin-for-all-variants>"
}

(The "thinning" value should probably be a specific hardware string like "iPhone10,1" to trade-off for test time).

This command generates the ipas, as well as a App Thinning Size Report.txt and app-thinning.plist.

Also see "Getting app size report" in this tutorial.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Issues that are less important to the Flutter projecta: sizeReducing IPA/APK/JS sizesa: tests"flutter test", flutter_test, or one of our testsc: contributor-productivityTeam-specific productivity, code health, technical debt.c: performanceRelates to speed or footprint issues (see "perf:" labels)perf: app sizePerformance issues related to app size (binary/code size) or disk spaceplatform-iosiOS applications specificallyteam-iosOwned by iOS platform teamtoolAffects the "flutter" command-line tool. See also t: labels.triaged-iosTriaged by iOS platform team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions