metadata library
Classes
- AppStoreMetadata
- ImageInfo
- What a screenshot has to satisfy, read straight out of the file header.
- LocaleMetadata
- One locale's listing.
- ScreenshotSpec
-
The pixel sizes Apple accepts for one
ScreenshotDisplayType.
Constants
-
appInfoLimits
→ const Map<
String, int> - App Store Connect's limits on the listing text, in UTF-16 code units.
-
contentRightsDeclarations
→ const Set<
String> - The two answers Apple accepts for "does this app contain, show or access third-party content".
- maxScreenshots → const int
- minScreenshots → const int
- Apple takes 1 to 10 screenshots per display type.
- reviewNotesLimit → const int
-
What Apple accepts in
appStoreReviewDetails.notes. - reviewNotesMarker → const String
-
Where the reviewer-facing half of
review-notes.mdstops. -
screenshotSpecs
→ const Map<
String, ScreenshotSpec> -
Keyed by
ScreenshotDisplayTypeas the API spells it, because these names are also the directory names in the tree — so a typo fails this lookup rather than being uploaded into the wrong slot, or silently ignored. - urlLimit → const int
- URLs are capped too, and Apple rejects the whole localization rather than the offending field.
-
versionLimits
→ const Map<
String, int>
Functions
-
loadMetadata(
String path) → AppStoreMetadata -
Loads and fully validates the tree rooted at
path. -
readImageInfo(
List< int> bytes) → ImageInfo? -
Dimensions and transparency of a PNG or JPEG, or null if
bytesis neither. -
readReviewNotes(
File file, {String label = 'review-notes.md'}) → String - The reviewer-facing half of a review-notes file, as plain text.
Exceptions / Errors
- MetadataException
- Thrown for anything wrong with the tree. Always actionable: it names the file and says what would have to be true instead.