latestRelease method
Implementation
Future<Release> latestRelease() async {
final response = await http.get(
Uri.parse(
'https://api.appstoreconnect.apple.com/v1/builds?filter[app]=$_appId&sort=-version,-uploadedDate&limit=1&fields[builds]=version&include=preReleaseVersion',
),
headers: {'Authorization': 'Bearer $_token'},
);
if (response.statusCode == 200) {
final body = jsonDecode(response.body) as Map?;
final buildNumber = int.tryParse(
(((body?['data'] as List?)?.firstOrNull as Map?)?['attributes']
as Map?)?['version'] as String? ??
'',
);
final buildName = (((body?['included'] as List?)?.firstOrNull
as Map?)?['attributes'] as Map?)?['version'] as String?;
return Release(
buildName: buildName ?? '1.0.0',
buildNumber: buildNumber ?? 0,
);
}
logHttpResponse(response);
throw Exception('Error fetching latest release.');
}