fastlane 2.128.1 → 2.129.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +74 -74
- data/deliver/lib/deliver/submit_for_review.rb +1 -1
- data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +1 -1
- data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +1 -1
- data/fastlane/lib/fastlane/actions/commit_github_file.rb +1 -1
- data/fastlane/lib/fastlane/actions/get_version_number.rb +18 -2
- data/fastlane/lib/fastlane/actions/github_api.rb +1 -1
- data/fastlane/lib/fastlane/actions/gradle.rb +26 -7
- data/fastlane/lib/fastlane/actions/import_from_git.rb +1 -1
- data/fastlane/lib/fastlane/actions/pod_push.rb +20 -10
- data/fastlane/lib/fastlane/actions/puts.rb +1 -1
- data/fastlane/lib/fastlane/actions/sonar.rb +18 -0
- data/fastlane/lib/fastlane/actions/update_fastlane.rb +1 -1
- data/fastlane/lib/fastlane/commands_generator.rb +1 -1
- data/fastlane/lib/fastlane/helper/adb_helper.rb +5 -0
- data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +11 -5
- data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +4 -0
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +11 -7
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/Fastlane.swift +290 -284
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +3 -3
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +3 -3
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane_core/lib/fastlane_core/analytics/analytics_event_builder.rb +1 -1
- data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +1 -1
- data/frameit/lib/frameit/editor.rb +1 -1
- data/gym/lib/gym/options.rb +1 -1
- data/match/lib/match/nuke.rb +1 -1
- data/match/lib/match/runner.rb +2 -2
- data/match/lib/match/storage/interface.rb +1 -1
- data/scan/lib/scan/options.rb +1 -1
- data/scan/lib/scan/runner.rb +1 -1
- data/snapshot/lib/assets/SnapshotHelper.swift +3 -3
- data/spaceship/lib/spaceship/connect_api/models/beta_tester_metric.rb +1 -0
- data/spaceship/lib/spaceship/du/du_client.rb +4 -0
- data/spaceship/lib/spaceship/portal/certificate.rb +15 -1
- data/spaceship/lib/spaceship/spaceauth_runner.rb +1 -1
- data/spaceship/lib/spaceship/test_flight/tester.rb +1 -1
- data/spaceship/lib/spaceship/tunes/build_details.rb +160 -18
- data/spaceship/lib/spaceship/tunes/display_family.rb +3 -3
- data/spaceship/lib/spaceship/tunes/iap.rb +2 -0
- data/spaceship/lib/spaceship/tunes/iap_detail.rb +17 -0
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +37 -1
- data/supply/lib/supply/client.rb +1 -1
- metadata +17 -18
@@ -28,7 +28,7 @@ protocol GymfileProtocol: class {
|
|
28
28
|
var exportTeamId: String? { get }
|
29
29
|
var xcargs: String? { get }
|
30
30
|
var xcconfig: String? { get }
|
31
|
-
var suppressXcodeOutput:
|
31
|
+
var suppressXcodeOutput: Bool? { get }
|
32
32
|
var disableXcpretty: String? { get }
|
33
33
|
var xcprettyTestFormat: String? { get }
|
34
34
|
var xcprettyFormatter: String? { get }
|
@@ -70,7 +70,7 @@ extension GymfileProtocol {
|
|
70
70
|
var exportTeamId: String? { return nil }
|
71
71
|
var xcargs: String? { return nil }
|
72
72
|
var xcconfig: String? { return nil }
|
73
|
-
var suppressXcodeOutput:
|
73
|
+
var suppressXcodeOutput: Bool? { return nil }
|
74
74
|
var disableXcpretty: String? { return nil }
|
75
75
|
var xcprettyTestFormat: String? { return nil }
|
76
76
|
var xcprettyFormatter: String? { return nil }
|
@@ -84,4 +84,4 @@ extension GymfileProtocol {
|
|
84
84
|
|
85
85
|
// Please don't remove the lines below
|
86
86
|
// They are used to detect outdated files
|
87
|
-
// FastlaneRunnerAPIVersion [0.9.
|
87
|
+
// FastlaneRunnerAPIVersion [0.9.4]
|
@@ -25,7 +25,7 @@ protocol ScanfileProtocol: class {
|
|
25
25
|
var outputFiles: String? { get }
|
26
26
|
var buildlogPath: String { get }
|
27
27
|
var includeSimulatorLogs: Bool { get }
|
28
|
-
var suppressXcodeOutput:
|
28
|
+
var suppressXcodeOutput: Bool? { get }
|
29
29
|
var formatter: String? { get }
|
30
30
|
var xcprettyArgs: String? { get }
|
31
31
|
var derivedDataPath: String? { get }
|
@@ -82,7 +82,7 @@ extension ScanfileProtocol {
|
|
82
82
|
var outputFiles: String? { return nil }
|
83
83
|
var buildlogPath: String { return "~/Library/Logs/scan" }
|
84
84
|
var includeSimulatorLogs: Bool { return false }
|
85
|
-
var suppressXcodeOutput:
|
85
|
+
var suppressXcodeOutput: Bool? { return nil }
|
86
86
|
var formatter: String? { return nil }
|
87
87
|
var xcprettyArgs: String? { return nil }
|
88
88
|
var derivedDataPath: String? { return nil }
|
@@ -114,4 +114,4 @@ extension ScanfileProtocol {
|
|
114
114
|
|
115
115
|
// Please don't remove the lines below
|
116
116
|
// They are used to detect outdated files
|
117
|
-
// FastlaneRunnerAPIVersion [0.9.
|
117
|
+
// FastlaneRunnerAPIVersion [0.9.12]
|
@@ -13,7 +13,7 @@ module FastlaneCore
|
|
13
13
|
def new_event(action_stage)
|
14
14
|
{
|
15
15
|
client_id: @p_hash,
|
16
|
-
category: "fastlane Client
|
16
|
+
category: "fastlane Client Language - #{@fastlane_client_language}",
|
17
17
|
action: action_stage,
|
18
18
|
label: action_name,
|
19
19
|
value: nil
|
@@ -196,7 +196,7 @@ module FastlaneCore
|
|
196
196
|
return
|
197
197
|
end
|
198
198
|
|
199
|
-
# We need to
|
199
|
+
# We need to explicitly test against Fastlane::Boolean, TrueClass/FalseClass
|
200
200
|
if value.class != FalseClass && value.class != TrueClass
|
201
201
|
UI.user_error!("'#{self.key}' value must be either `true` or `false`! Found #{value.class} instead.")
|
202
202
|
end
|
@@ -330,7 +330,7 @@ module Frameit
|
|
330
330
|
background = put_title_into_background_stacked(background, title, keyword)
|
331
331
|
return background
|
332
332
|
end
|
333
|
-
# sum_width: the width of both labels together including the space
|
333
|
+
# sum_width: the width of both labels together including the space in-between
|
334
334
|
# is used to calculate the ratio
|
335
335
|
sum_width = title.width
|
336
336
|
sum_width += keyword.width + keyword_padding if keyword
|
data/gym/lib/gym/options.rb
CHANGED
@@ -210,7 +210,7 @@ module Gym
|
|
210
210
|
env_name: "SUPPRESS_OUTPUT",
|
211
211
|
description: "Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path",
|
212
212
|
optional: true,
|
213
|
-
|
213
|
+
type: Boolean),
|
214
214
|
FastlaneCore::ConfigItem.new(key: :disable_xcpretty,
|
215
215
|
env_name: "DISABLE_XCPRETTY",
|
216
216
|
description: "Disable xcpretty formatting of build output",
|
data/match/lib/match/nuke.rb
CHANGED
@@ -148,7 +148,7 @@ module Match
|
|
148
148
|
rows = self.profiles.collect do |p|
|
149
149
|
status = p.status == 'Active' ? p.status.green : p.status.red
|
150
150
|
|
151
|
-
# Expires is
|
151
|
+
# Expires is sometimes nil
|
152
152
|
expires = p.expires ? p.expires.strftime("%Y-%m-%d") : nil
|
153
153
|
[p.name, p.id, status, p.type, expires]
|
154
154
|
end
|
data/match/lib/match/runner.rb
CHANGED
@@ -156,7 +156,7 @@ module Match
|
|
156
156
|
UI.message("Installing certificate...")
|
157
157
|
|
158
158
|
# Only looking for cert in "custom" (non login.keychain) keychain
|
159
|
-
# Doing this for backwards
|
159
|
+
# Doing this for backwards compatibility
|
160
160
|
keychain_name = params[:keychain_name] == "login.keychain" ? nil : params[:keychain_name]
|
161
161
|
|
162
162
|
if FastlaneCore::CertChecker.installed?(cert_path, in_keychain: keychain_name)
|
@@ -217,7 +217,7 @@ module Match
|
|
217
217
|
end
|
218
218
|
end
|
219
219
|
|
220
|
-
if profile.nil? ||
|
220
|
+
if profile.nil? || force
|
221
221
|
if params[:readonly]
|
222
222
|
UI.error("No matching provisioning profiles found for '#{profile_name}'")
|
223
223
|
UI.error("A new one cannot be created because you enabled `readonly`")
|
@@ -23,7 +23,7 @@ module Match
|
|
23
23
|
|
24
24
|
# Call this method after creating a new object to configure
|
25
25
|
# the given Storage object. This method will take
|
26
|
-
# different
|
26
|
+
# different parameters depending on specific class being used
|
27
27
|
def configure
|
28
28
|
not_implemented(__method__)
|
29
29
|
end
|
data/scan/lib/scan/options.rb
CHANGED
@@ -213,7 +213,7 @@ module Scan
|
|
213
213
|
env_name: "SCAN_SUPPRESS_XCODE_OUTPUT",
|
214
214
|
description: "Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path",
|
215
215
|
optional: true,
|
216
|
-
|
216
|
+
type: Boolean),
|
217
217
|
FastlaneCore::ConfigItem.new(key: :formatter,
|
218
218
|
short_option: "-n",
|
219
219
|
env_name: "SCAN_FORMATTER",
|
data/scan/lib/scan/runner.rb
CHANGED
@@ -136,7 +136,7 @@ module Scan
|
|
136
136
|
# Zips build products and moves it to output directory
|
137
137
|
UI.message("Zipping build products")
|
138
138
|
FastlaneCore::Helper.zip_directory(path, output_path, contents_only: true, overwrite: true, print: false)
|
139
|
-
UI.message("
|
139
|
+
UI.message("Successfully zipped build products: #{output_path}")
|
140
140
|
end
|
141
141
|
|
142
142
|
def test_results
|
@@ -175,11 +175,11 @@ open class Snapshot: NSObject {
|
|
175
175
|
|
176
176
|
let screenshot = XCUIScreen.main.screenshot()
|
177
177
|
guard var simulator = ProcessInfo().environment["SIMULATOR_DEVICE_NAME"], let screenshotsDir = screenshotsDirectory else { return }
|
178
|
-
|
178
|
+
|
179
179
|
do {
|
180
180
|
// The simulator name contains "Clone X of " inside the screenshot file when running parallelized UI Tests on concurrent devices
|
181
181
|
let regex = try NSRegularExpression(pattern: "Clone [0-9]+ of ")
|
182
|
-
let range =
|
182
|
+
let range = NSRange(location: 0, length: simulator.count)
|
183
183
|
simulator = regex.stringByReplacingMatches(in: simulator, range: range, withTemplate: "")
|
184
184
|
|
185
185
|
let path = screenshotsDir.appendingPathComponent("\(simulator)-\(name).png")
|
@@ -300,4 +300,4 @@ private extension CGFloat {
|
|
300
300
|
|
301
301
|
// Please don't remove the lines below
|
302
302
|
// They are used to detect outdated configuration files
|
303
|
-
// SnapshotHelperVersion [1.
|
303
|
+
// SnapshotHelperVersion [1.21]
|
@@ -22,6 +22,10 @@ module Spaceship
|
|
22
22
|
upload_file(app_version: app_version, upload_file: upload_file, path: '/upload/image', content_provider_id: content_provider_id, sso_token: sso_token_for_image, du_validation_rule_set: screenshot_picture_type(device, is_messages))
|
23
23
|
end
|
24
24
|
|
25
|
+
def upload_purchase_merch_screenshot(app_id, upload_file, content_provider_id, sso_token_for_image)
|
26
|
+
upload_file(app_id: app_id, upload_file: upload_file, path: '/upload/image', content_provider_id: content_provider_id, sso_token: sso_token_for_image, du_validation_rule_set: 'MZPFT.MerchandisingIAPIcon')
|
27
|
+
end
|
28
|
+
|
25
29
|
def upload_purchase_review_screenshot(app_id, upload_file, content_provider_id, sso_token_for_image)
|
26
30
|
upload_file(app_id: app_id, upload_file: upload_file, path: '/upload/image', content_provider_id: content_provider_id, sso_token: sso_token_for_image, du_validation_rule_set: get_picture_type(upload_file))
|
27
31
|
end
|
@@ -89,6 +89,12 @@ module Spaceship
|
|
89
89
|
# Certs are not associated with apps
|
90
90
|
#####################################################
|
91
91
|
|
92
|
+
# An Apple development code signing certificate used for development environment
|
93
|
+
class AppleDevelopment < Certificate; end
|
94
|
+
|
95
|
+
# An Apple distribution code signing certificate used for distribution environment
|
96
|
+
class AppleDistribution < Certificate; end
|
97
|
+
|
92
98
|
# A development code signing certificate used for development environment
|
93
99
|
class Development < Certificate; end
|
94
100
|
|
@@ -152,6 +158,11 @@ module Spaceship
|
|
152
158
|
# A Mac push notification certificate for production environment
|
153
159
|
class MacProductionPush < PushCertificate; end
|
154
160
|
|
161
|
+
APPLE_CERTIFICATE_TYPE_IDS = {
|
162
|
+
"83Q87W3TGH" => AppleDevelopment,
|
163
|
+
"WXV89964HE" => AppleDistribution
|
164
|
+
}
|
165
|
+
|
155
166
|
IOS_CERTIFICATE_TYPE_IDS = {
|
156
167
|
"5QPB9NHCEI" => Development,
|
157
168
|
"R58UK2EWSO" => Production,
|
@@ -187,7 +198,9 @@ module Spaceship
|
|
187
198
|
"DIVN2GW3XT" => DeveloperIdApplication
|
188
199
|
}
|
189
200
|
|
190
|
-
CERTIFICATE_TYPE_IDS =
|
201
|
+
CERTIFICATE_TYPE_IDS = APPLE_CERTIFICATE_TYPE_IDS
|
202
|
+
.merge(IOS_CERTIFICATE_TYPE_IDS)
|
203
|
+
.merge(MAC_CERTIFICATE_TYPE_IDS)
|
191
204
|
|
192
205
|
# Class methods
|
193
206
|
class << self
|
@@ -259,6 +272,7 @@ module Spaceship
|
|
259
272
|
def all(mac: false)
|
260
273
|
if self == Certificate # are we the base-class?
|
261
274
|
type_ids = mac ? MAC_CERTIFICATE_TYPE_IDS : IOS_CERTIFICATE_TYPE_IDS
|
275
|
+
type_ids = APPLE_CERTIFICATE_TYPE_IDS.merge(type_ids)
|
262
276
|
types = type_ids.keys
|
263
277
|
types += OLDER_IOS_CERTIFICATE_TYPES unless mac
|
264
278
|
else
|
@@ -25,7 +25,7 @@ module Spaceship
|
|
25
25
|
puts("Please try unsetting the FASTLANE_SESSION environment variable".yellow)
|
26
26
|
puts("(if it is set) and re-run `fastlane spaceauth`".yellow)
|
27
27
|
puts("")
|
28
|
-
puts("
|
28
|
+
puts("Exception type: #{ex.class}")
|
29
29
|
raise ex
|
30
30
|
end
|
31
31
|
|
@@ -93,7 +93,7 @@ module Spaceship
|
|
93
93
|
end
|
94
94
|
|
95
95
|
# @return (Spaceship::TestFlight::Tester) Returns the testers matching the parameter.
|
96
|
-
# ITC
|
96
|
+
# ITC searches all fields, and is full text. The search results are the union of all words in the search text
|
97
97
|
# @param text (String) (required): Value used to filter the tester, case insensitive
|
98
98
|
def self.search(app_id: nil, text: nil, is_email_exact_match: false)
|
99
99
|
text = text.strip
|
@@ -6,36 +6,178 @@ module Spaceship
|
|
6
6
|
class BuildDetails < TunesBase
|
7
7
|
# @return (String) The App identifier of this app, provided by App Store Connect
|
8
8
|
# @example
|
9
|
-
#
|
9
|
+
# '1013943394'
|
10
10
|
attr_accessor :apple_id
|
11
11
|
|
12
|
-
# @return (
|
13
|
-
#
|
14
|
-
attr_accessor :
|
12
|
+
# @return (Integer) Upload date of build as UNIX timestamp
|
13
|
+
# @example 1563813377000
|
14
|
+
attr_accessor :upload_date
|
15
15
|
|
16
|
-
# @return
|
17
|
-
|
16
|
+
# @return (String) State of the build/binary
|
17
|
+
# @example 'ITC.apps.preReleaseBuildStatus.Validated'
|
18
|
+
attr_accessor :binary_state
|
18
19
|
|
19
|
-
# @return
|
20
|
-
|
20
|
+
# @return (String) Name of uploaded file
|
21
|
+
# @example 'MyApp.ipa'
|
22
|
+
attr_accessor :file_name
|
23
|
+
|
24
|
+
# @return (String) SDK used to build app
|
25
|
+
# @example '13A340'
|
26
|
+
attr_accessor :build_sdk
|
27
|
+
|
28
|
+
# @return (String) Platform
|
29
|
+
# @example '13A340'
|
30
|
+
attr_accessor :build_platform
|
31
|
+
|
32
|
+
# @return (String) Bundle ID of build
|
33
|
+
# @example 'com.sample.app'
|
34
|
+
attr_accessor :bundle_id
|
35
|
+
|
36
|
+
# @return (String) Name of app
|
37
|
+
# @example 'Test App'
|
38
|
+
attr_accessor :app_name
|
39
|
+
|
40
|
+
# @return (String) Supported architectures of the build
|
41
|
+
# @example 'armv7, arm64'
|
42
|
+
attr_accessor :supported_architectures
|
43
|
+
|
44
|
+
# @return (String) Localizations of the build
|
45
|
+
# @example 'English'
|
46
|
+
attr_accessor :localizations
|
47
|
+
|
48
|
+
# @return (Boolean) Is this a Newsstand app?
|
49
|
+
# @example false
|
50
|
+
attr_accessor :newsstand_app
|
51
|
+
|
52
|
+
# @return (Boolean) Does the build contain an app icon?
|
53
|
+
# @example true
|
54
|
+
attr_accessor :prerendered_icon_flag
|
55
|
+
|
56
|
+
# @return [Hash] containing all entitlements for all targets
|
57
|
+
# @example 'Sample.app/Sample: {'com.apple.developer.team-identifier': 'ABC123DEF456'}'
|
58
|
+
attr_accessor :entitlements
|
59
|
+
|
60
|
+
# @return (String) Platform of the app
|
61
|
+
# @example 'ios'
|
62
|
+
attr_accessor :app_plattform
|
63
|
+
|
64
|
+
# @return (String) Device Requirements / Device Protocols
|
65
|
+
attr_accessor :device_protocols
|
66
|
+
|
67
|
+
# @return (String) Version code of the build
|
68
|
+
# @example '4'
|
69
|
+
attr_accessor :cf_bundle_version
|
70
|
+
|
71
|
+
# @return (String) Version code of the build train
|
72
|
+
# @example '1.6'
|
73
|
+
attr_accessor :cf_bundle_short_version
|
74
|
+
|
75
|
+
# @return (String) Minimum iOS Version
|
76
|
+
# @example '9.3'
|
77
|
+
attr_accessor :min_os_version
|
78
|
+
|
79
|
+
# @return (String) Enabled Device Family
|
80
|
+
# @example 'iPhone / iPod touch, iPad''
|
81
|
+
attr_accessor :device_families
|
82
|
+
|
83
|
+
# @return (String) Required Capabilities
|
84
|
+
# @example 'armv7'
|
85
|
+
attr_accessor :capabilities
|
86
|
+
|
87
|
+
# @return (Int) Compressed File Size in bytes
|
88
|
+
# @example '9365224'
|
89
|
+
attr_accessor :size_in_bytes
|
90
|
+
|
91
|
+
# @return (Hash) Estimated App Store file sizes for all devices in bytes
|
92
|
+
attr_accessor :sizes_in_bytes
|
21
93
|
|
22
|
-
# @return
|
94
|
+
# @return (Hash) Estimated App Store file sizes for all devices in bytes
|
95
|
+
attr_accessor :sizes_in_bytes_with_device_loc
|
96
|
+
|
97
|
+
# @return (Boolean) Contains On Demand Resources
|
98
|
+
# @example false
|
23
99
|
attr_accessor :contains_odr
|
24
100
|
|
25
|
-
#
|
26
|
-
|
101
|
+
# @return (Integer) Number of Asset packs
|
102
|
+
# @example 0
|
103
|
+
attr_accessor :number_of_asset_packs
|
27
104
|
|
28
|
-
# @return
|
29
|
-
|
105
|
+
# @return (Boolean) Includes Symbols
|
106
|
+
# @example true
|
107
|
+
attr_accessor :include_symbols
|
108
|
+
|
109
|
+
# @return (Boolean) App Uses Non-Exempt Encryption (Optional)
|
110
|
+
# @example null
|
111
|
+
attr_accessor :use_encryption_in_plist
|
112
|
+
|
113
|
+
# @return (Boolean) App Encryption Export Compliance Code (Optional)
|
114
|
+
# @example null
|
115
|
+
attr_accessor :export_compliance_code_value_in_plist
|
116
|
+
|
117
|
+
# @return (Boolean) Includes Stickers
|
118
|
+
# @example false
|
119
|
+
attr_accessor :has_stickers
|
120
|
+
|
121
|
+
# @return (Boolean) Includes iMessage App
|
122
|
+
# @example false
|
123
|
+
attr_accessor :has_messages_extension
|
124
|
+
|
125
|
+
# @return (Boolean) // Not sure what this is for
|
126
|
+
# @example false
|
127
|
+
attr_accessor :launch_prohibited
|
128
|
+
|
129
|
+
# @return (Boolean) Uses SiriKit
|
130
|
+
# @example false
|
131
|
+
attr_accessor :uses_synapse
|
132
|
+
|
133
|
+
# @return (Boolean) App uses Location Services
|
134
|
+
# @example false
|
135
|
+
attr_accessor :uses_location_background_mode
|
136
|
+
|
137
|
+
# @return (String) Link to the dSYM file (not always available)
|
138
|
+
# @example build/***.****.*****.*****-1.0.0-2647.dSYM.zip
|
139
|
+
attr_accessor :dsym_url
|
140
|
+
|
141
|
+
# @return (Boolean) Watch-Only App
|
142
|
+
# @example false
|
143
|
+
attr_accessor :watch_only
|
30
144
|
|
31
145
|
attr_mapping(
|
32
146
|
'apple_id' => :apple_id,
|
33
|
-
'
|
34
|
-
'
|
35
|
-
'
|
36
|
-
'containsODR' => :contains_odr,
|
147
|
+
'uploadDate' => :upload_date,
|
148
|
+
'binaryState' => :binary_state,
|
149
|
+
'fileName' => :file_name,
|
37
150
|
'buildSdk' => :build_sdk,
|
38
|
-
'
|
151
|
+
'buildPlatform' => :build_platform,
|
152
|
+
'bundleId' => :bundle_id,
|
153
|
+
'appName' => :app_name,
|
154
|
+
'supportedArchitectures' => :supported_architectures,
|
155
|
+
'localizations' => :localizations,
|
156
|
+
'newsstandApp' => :newsstand_app,
|
157
|
+
'prerenderedIconFlag' => :prerendered_icon_flag,
|
158
|
+
'entitlements' => :entitlements,
|
159
|
+
'appPlatform' => :app_platform,
|
160
|
+
'deviceProtocols' => :device_protocols,
|
161
|
+
'cfBundleVersion' => :cf_bundle_version,
|
162
|
+
'cfBundleShortVersion' => :cf_bundle_short_version,
|
163
|
+
'minOsVersion' => :min_os_version,
|
164
|
+
'deviceFamilies' => :device_families,
|
165
|
+
'capabilities' => :capabilities,
|
166
|
+
'sizeInBytes' => :size_in_bytes,
|
167
|
+
'sizesInBytes' => :sizes_in_bytes,
|
168
|
+
'sizesInBytesWithDeviceLoc' => :sizes_in_bytes_with_device_loc,
|
169
|
+
'containsODR' => :contains_odr,
|
170
|
+
'numberOfAssetPacks' => :number_of_asset_packs,
|
171
|
+
'includesSymbols' => :include_symbols,
|
172
|
+
'useEncryptionInPlist' => :use_encryption_in_plist,
|
173
|
+
'exportComplianceCodeValueInPlist' => :export_compliance_code_value_in_plist,
|
174
|
+
'hasStickers' => :has_stickers,
|
175
|
+
'hasMessagesExtension' => :has_messages_extension,
|
176
|
+
'launchProhibited' => :launch_prohibited,
|
177
|
+
'usesSynapse' => :uses_synapse,
|
178
|
+
'usesLocationBackgroundMode' => :uses_location_background_mode,
|
179
|
+
'dsymurl' => :dsym_url,
|
180
|
+
'watchOnly' => :watch_only
|
39
181
|
)
|
40
182
|
end
|
41
183
|
end
|