AppleMusicKit SDK / Sample Project - UserToken issue - swift

I'm currently experimenting with the Adding-Content-to-Apple-Music code found here: https://developer.apple.com/musickit/
I'm using:
XCode 9 beta 2,
iOS 11 (iPhone 5s)
I have a developer token (which works when I query the Apple Music API searching songs etc...) but I now want to use this to exchange for a User Token so I can perform write actions against my Apple Music account.
The test app fires up and allows me to request authentication. From this I can see:
MPMedia Library - Authorized
SKCloudServicesController - Authorized
Capabilities:
Add to Cloud Music Library
Music Catalog Playback
My next obvious step is to use the developer token to gain the user token. However, as soon as I call the following:
cloudServiceController.requestUserToken(forDeveloperToken: developerToken, completionHandler: completionHandler)
i see the following error in the completionHandler - can anyone help?
2017-07-14 10:05:39.179300+0100 Adding-Content-to-Apple-Music[1326:172100] [MC] Reading from public effective user settings.
2017-07-14 10:05:40.635503+0100 Adding-Content-to-Apple-Music[1326:172299] [core] "Error returned from daemon: Error Domain=com.apple.accounts Code=9 "(null)""
2017-07-14 10:05:40.636449+0100 Adding-Content-to-Apple-Music[1326:172100] SSAccountStore: Failed to fetch the backing accounts. error = Error Domain=com.apple.accounts Code=9 "(null)"
2017-07-14 10:05:40.800933+0100 Adding-Content-to-Apple-Music[1326:172297] [core] "Error returned from daemon: Error Domain=com.apple.accounts Code=9 "(null)""
2017-07-14 10:05:40.801259+0100 Adding-Content-to-Apple-Music[1326:172299] SSAccountStore: Failed to fetch the backing accounts. error = Error Domain=com.apple.accounts Code=9 "(null)"
An error occurred when requesting user token: The operation couldn’t be completed. (SKErrorDomain error 1.)
In Settings > iTunes & App Store on my device I am logged in with my Apple ID. Same goes for Apple Music too.

Update on this:
I also posted about this over on the Apple dev forums. It was an error on their side and now appears to be fixed. I can get a UserToken in both iOS 10 and 11 now.

Related

What does ConnectionProviderError means in Amplify AppSync in Flutter SDK

We are using Flutter SDK for Amplify AppSync for using Real Time Subscription.
https://pub.dev/packages/amplify_api
Sometime we receive error on AppSync subscription. As mentioned below
Error thrown ApiException(message: Subscription item event failed with error: Unauthorized, recoverySuggestion: , underlyingException: The operation couldn’t be completed. (AppSyncRealTimeClient.ConnectionProviderError error 5.)).
Error thrown ApiException(message: Subscription item event failed with error, recoverySuggestion: , underlyingException: The operation couldn’t be completed. (AppSyncRealTimeClient.ConnectionProviderError error 4.)).
I tried to figure out what does the error 4 and error 5 means, but was unable to do so.
I checked their swift SDK for ConnectionProvider
https://github.com/aws-amplify/aws-appsync-realtime-client-ios/tree/main/AppSyncRealTimeClient/ConnectionProvider
https://github.com/aws-amplify/aws-appsync-realtime-client-ios/blob/main/AppSyncRealTimeClient/ConnectionProvider/ConnectionProviderError.swift
But I could not figure out the cause for error. Can someone please help to identify when those error will be thrown. Thanks

Authentication fails with error "unsupported URL" in MongoDB Realm iOS SDK

I am trying to authenticate into my MongoDB Realm app anonymously through the Realm iOS SDK, but I am getting the following error:
Task <CFE450BE-FF58-4A89-B310-4DCFCBF692BA>.<1> finished with error [-1002] Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" UserInfo={NSUnderlyingError=0x600000890a50 {Error Domain=kCFErrorDomainCFNetwork Code=-1002 "(null)"}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <CFE450BE-FF58-4A89-B310-4DCFCBF692BA>.<1>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <CFE450BE-FF58-4A89-B310-4DCFCBF692BA>.<1>"
), NSLocalizedDescription=unsupported URL}
Login failed: Error Domain=realm::app::CustomError Code=-1002 "unsupported URL" UserInfo={NSLocalizedDescription=unsupported URL, realm::app::CustomError=code -1002}
I installed the Realm iOS SDK with Carthage, and I am using version v10.15.1 of the SDK.
I've tried searching forums online but I can't find anything referencing this error.
I figured out the problem. When creating the realm app like below:
let realmApp = App(id: getRealmAppID())
I was reading the realm app ID of my Realm app from a text file, which included a newline character at the end. I stripped the newline character from the end of the retrieved ID, and no more error!

Facebook iOS 10 login error :user not allowed to see application

I am new to iOS programming and I made an app that was able to connect to Facebook before without any problem. I've enabled keychain sharing and made the app public but last week I started seeing an error message:
2017-05-23 17:26:11.130 test[3231:77099] -canOpenURL: failed for URL:
"fbauth2:/" - error: "The operation couldn’t be completed. (OSStatus
error -10814.)"
I've followed all the login steps, but no success.
Any help will be greatly appreciated.

WebView returning blank post FB authorization

From my react native application, I am trying to authenticate against FB. Instead of directly using fbsdk, I was planning to use a wrapper around it.
I tried two wrappers.
https://github.com/xxsnakerxx/react-native-social-auth
https://github.com/magus/react-native-facebook-login
In both cases, I end up with a WebView which won't callback the app.
I have raised two issues
https://github.com/magus/react-native-facebook-login/issues/187
https://github.com/xxsnakerxx/react-native-social-auth/issues/6
XCode logs has below entries which I am not able to decipher
2016-12-09 06:13:29.757 XXXX[61829:8555589] -canOpenURL: failed for URL: "fbauth2:/" - error: "The operation couldn’t be completed. (OSStatus error -10814.)"
2016-12-09 06:13:29.759 XXXX[61829:8555589] -canOpenURL: failed for URL: "fbauth2:/" - error: "The operation couldn’t be completed. (OSStatus error -10814.)"
and..
__nw_socket_service_writes_block_invoke sendmsg(fd 9, 31 bytes): socket has been closed
2016-12-09 06:13:36.670958 XXXX[61829:8574160] [] nw_endpoint_flow_protocol_error [15.1 157.240.7.20:443 cancelled socket-flow (null)] Socket protocol sent error: [32] Broken pipe
2016-12-09 06:13:36.671154 XXXX[61829:8574160] [] nw_endpoint_flow_protocol_disconnected [15.1 157.240.7.20:443 cancelled socket-flow (null)] Output protocol disconnected
And the WebView post all the authentication looks like
Eventually successful with react-native-social-auth. Missed a few configurations.

iOS Dropbox Datastore API: WebKit Exception + Unsupported URL

(Note, this seems related to this question, but is with a different flavor of the Dropbox SDK.)
Using the latest version of the Dropbox Datastore API on iOS, I am getting an exception after performing these steps:
Successfully connect my app to Dropbox
Disconnect my app from Dropbox.
Reconnect app to same, or another, Dropbox account.
Then this happens:
The console in Xcode shows this:
*** WebKit discarded an uncaught exception in the webView:
decidePolicyForNavigationAction:request:frame:decisionListener:
delegate: <NSInvalidArgumentException> -[PilotPro.SettingsTableViewController
dropboxWasLinked:]: unrecognized selector sent to instance 0x7fc489cb94d0
And then this:
[WARNING] DropboxSDK: error loading DBConnectController - Error
Domain=NSURLErrorDomain Code=-1002 "unsupported URL"
UserInfo=0x7fc48c11bc50 {NSUnderlyingError=0x7fc48c4418c0 "unsupported URL",
NSErrorFailingURLStringKey=db-***://1/connect?
oauth_token_secret=***&state=***&oauth_token=***&uid=***,
NSErrorFailingURLKey=db-***://1/connect?
oauth_token_secret=***&state=***&oauth_token=***&uid=***,
NSLocalizedDescription=unsupported URL}
I suspect I am not doing enough to disconnect Dropbox from my account, so it's conflicting with a Dropbox session somehow. Here's what I'm doing to disconnect:
//===::: Disable Dropbox :::===
DBAccountManager.sharedManager().linkedAccount.unlink()
// Shutdown and stop listening for changes to the datastores
DBDatastoreManager.sharedManager().shutDown()
DBDatastoreManager.sharedManager().removeObserver(self)
//Migrate back to local datastores
DBDatastoreManager.setSharedManager(DBDatastoreManager.localManagerForAccountManager(DBAccountManager.sharedManager()))
Any ideas? Thanks in advance.
It turns out that the errors given by Xcode were a bit of a red herring in this case. I was firing an NSNotification after Dropbox finished authenticating, and in doing so I was using this:
NSNotificationCenter.defaultCenter().addObserver(self, selector: "dropboxWasLinked:", name: "dropboxLinked", object: nil)
...but my dropboxWasLinked method wasn't set up to receive any arguments:
func dropboxWasLinked(){ ... }
So Xcode was firing an exception that messed up the authentication and made other things appear to be the cause, when in reality all I needed to do was remove the : from my selector in the NSNotification listener.
Ah, the joys of programming. :)