@@ -141,40 +141,15 @@ final class AnisetteDataHelper
141141
142142 func provision( ) async throws -> AnisetteData {
143143 try await fetchClientInfo ( )
144-
145- // Verify client info was properly fetched
146- guard self . clientInfo != nil , self . userAgent != nil , self . mdLu != nil , self . deviceId != nil else {
147- self . printOut ( " ERROR: Client info not properly set after fetchClientInfo() " )
148- throw " Failed to get required client information from anisette server "
149- }
150-
151- self . printOut ( " Getting provisioning URLs " )
152- let gsaURL = URL ( string: " https://gsa.apple.com/grandslam/GsService2/lookup " ) !
153- var request = self . buildAppleRequest ( url: gsaURL)
154- request. httpMethod = " GET "
155-
156- self . printOut ( " Requesting GSA lookup with client info: \( self . clientInfo!) " )
157-
144+ self . printOut ( " Getting provisioning URLs " )
145+ var request = self . buildAppleRequest ( url: URL ( string: " https://gsa.apple.com/grandslam/GsService2/lookup " ) !)
146+ request. httpMethod = " GET "
158147 let ( data, response) = try await URLSession . shared. data ( for: request)
159-
160- if let httpResponse = response as? HTTPURLResponse {
161- self . printOut ( " GSA lookup response status: \( httpResponse. statusCode) " )
162- if httpResponse. statusCode != 200 {
163- self . printOut ( " GSA lookup failed with status \( httpResponse. statusCode) " )
164- self . printOut ( " Response body: \( String ( data: data, encoding: . utf8) ?? " not utf8 " ) " )
165- throw " Apple GSA service returned error \( httpResponse. statusCode) . Please try again later "
166- }
167- }
168-
169- let responseString = String ( data: data, encoding: . utf8) ?? " not utf8 "
170- self . printOut ( " GSA lookup response: \( responseString) " )
171-
172148 if
173149 let plist = try ? PropertyListSerialization . propertyList ( from: data, format: nil ) as? Dictionary < String , Dictionary < String , Any > > ,
174- let urls = plist [ " urls " ] ,
175- let startProvisioningString = urls [ " midStartProvisioning " ] as? String ,
150+ let startProvisioningString = plist [ " urls " ] ? [ " midStartProvisioning " ] as? String ,
176151 let startProvisioningURL = URL ( string: startProvisioningString) ,
177- let endProvisioningString = urls [ " midFinishProvisioning " ] as? String ,
152+ let endProvisioningString = plist [ " urls " ] ? [ " midFinishProvisioning " ] as? String ,
178153 let endProvisioningURL = URL ( string: endProvisioningString) {
179154 self . startProvisioningURL = startProvisioningURL
180155 self . endProvisioningURL = endProvisioningURL
@@ -183,13 +158,11 @@ final class AnisetteDataHelper
183158 self . printOut ( " Starting a provisioning session " )
184159 return try await self . startProvisioningSession ( )
185160 } else {
186- self . printOut ( " Apple didn't give valid URLs! Response structure: " )
187- self . printOut ( responseString)
188- if let plist = try ? PropertyListSerialization . propertyList ( from: data, format: nil ) as? Dictionary < String , Any > {
189- self . printOut ( " Parsed plist: \( plist) " )
190- }
191- throw " Apple didn't give valid URLs. The service may be temporarily unavailable. Please try again later "
161+ self . printOut ( " Apple didn't give valid URLs! Got response: \( String ( data: data, encoding: . utf8) ?? " not utf8 " ) " )
162+ throw " Apple didn't give valid URLs. Please try again later "
192163 }
164+
165+
193166 }
194167
195168 func startProvisioningSession( ) async throws -> AnisetteData {
0 commit comments