Post

Replies

Boosts

Views

Activity

invalid_client when i try to exchange code to access token
Hi Apple Developers, I'm facing an issue that call to https://appleid.apple.com/auth/token and it raised an error: invalid_client There is my URL that i'm getting a code: "https://www.facebook.com/v20.0/dialog/oauth?client_id=526484129769843&redirect_uri=https://abc.example-api.ss-ss.com/api/v1/accounts/facebook/callback&response_type=code&scope=email I'm using Key Id and Private Key in the file AuthKey_K5HK3H23KZ.p8 to generate to a Client Secret, Client ID is abc.example-api.ss-ss.com (It is the service id) and the code that i give at the above request. When i'm call to exchange access token, the error is showed My project is writing by dotnet core. I dont know why the client should be invalid. Can anyone help me please?
1
0
250
Sep ’24
Question About App Tracking Transparency for Delivery App
I have delivery app for customer, driver and we collected location data from user. With the app for driver, we collected location data for provide direction to deliver, tracking location on Admin to support and send nearest order request. With the app for customer, we collect location data to show nearest restaurant in 1 km and send current location on Admin for support. So, I still concern that the app for driver or customer should have request App Tracking Transparency permission?
0
0
380
Jul ’24
Background tasks not working on Watch OS 8.1
I'm developing an independent watch app and I have a background task every 60 minutes. But don't have anything happen when I close app or run background mode in over 24 hours. I have use below code: ViewController.swift  override func didDeactivate() {     // This method is called when watch view controller is no longer visible     super.didDeactivate()     setScheduleBackgroundJob {       // Set success     }   }   func setScheduleBackgroundJob(completed: @escaping () -> Void) {     let dateStartBackgroundTask = Date(timeInterval: TASK_INTERVAL_TIME.timeInterval, since: Date())     WKExtension.shared().scheduleBackgroundRefresh(withPreferredDate: dateStartBackgroundTask, userInfo: nil) { error in       if let error = error {         // log if have error         print("Error: ", error.localizedDescription)         return       }       print("BACKGROUND TASK: ", Date());       completed()     }   }   @IBAction func closeApp() {     setScheduleBackgroundJob {       exit(0)     }         } ExtensionDelegate.swift func handle(_ backgroundTasks: Set<WKRefreshBackgroundTask>) {     // Sent when the system needs to launch the application in the background to process tasks. Tasks arrive in a set, so loop through and process each one.     for task in backgroundTasks {       // Use a switch statement to check the task type       switch task {       case let backgroundTask as WKApplicationRefreshBackgroundTask:         // Be sure to complete the background task once you’re done.         createBackgroundSceduleTask()         LocalStorageManager.logCollectData(content: "Collect Health Data Background \(Date())")         DataManager.shared.collectData(bgTask: backgroundTask) //        backgroundTask.setTaskCompletedWithSnapshot(false)       case let snapshotTask as WKSnapshotRefreshBackgroundTask:         // Snapshot tasks have a unique completion call, make sure to set your expiration date         snapshotTask.setTaskCompleted(restoredDefaultState: true, estimatedSnapshotExpiration: Date.distantFuture, userInfo: nil)       case let connectivityTask as WKWatchConnectivityRefreshBackgroundTask:         // Be sure to complete the connectivity task once you’re done.         connectivityTask.setTaskCompletedWithSnapshot(false)       case let urlSessionTask as WKURLSessionRefreshBackgroundTask:         // Be sure to complete the URL session task once you’re done.           DataManager.shared.handleData(urlSessionTask) //        urlSessionTask.setTaskCompletedWithSnapshot(false)       case let relevantShortcutTask as WKRelevantShortcutRefreshBackgroundTask:         // Be sure to complete the relevant-shortcut task once you're done.         relevantShortcutTask.setTaskCompletedWithSnapshot(false)       case let intentDidRunTask as WKIntentDidRunRefreshBackgroundTask:         // Be sure to complete the intent-did-run task once you're done.         intentDidRunTask.setTaskCompletedWithSnapshot(false)       default:         // make sure to complete unhandled task types         task.setTaskCompletedWithSnapshot(false)       }     }   }
1
0
828
Jan ’22