How to access user music library on iOS 13 - ios

Since iOS 9.3 we can use the API SKCloudServiceController.requestAuthorization to ask permission to access the user's music library. The documentation says that the only change to this API on Xcode 11 was the support for tvOS, which should not change anything on iOS (which is the platform I'm using).
But, since Xcode 11 beta 4 I've noticed that the SKCloudServiceController.requestAuthorization callback does not get called.
My question is: is there a new API to ask for music library access or is this a iOS 13 bug?
I've found two unresolved discussions on Apple Developer Forums with related issues:
SKCloudServiceController.requestAuthorization not working on iOS 13
MPMedialLibrary.requestAuthorization not working on iOS13 devices

Related

Linking to an older version of iOS

Apple instated the following policy:
Apps linked on or after iOS 15 are limited to a maximum of 50 entries
in the LSApplicationQueriesSchemes key. Source
Is there a way to link to an earlier iOS version (like iOS 14.1) but release on the App Store and download on iPhones with iOS 15 installed to get around this measure?
How does one link to an earlier version of iOS?
You could declare your target SDK to be iOS 14 but why bother? If the past is any guide, Apple will soon stop accepting app submissions unless they’re linked against iOS 15. So whatever your use case is for so many entries, you’re going to have to find a workaround.

How to use Sinch VOIP with iOS 13 or higher?

I have an app in Android and iOS that uses Sinch videocalls but since the iOS 13 launching the video the iOS 13 sends is bad, it looks like static. I've discovered that if during the videocall I use the iPhone in landscape orientation the video transmitted is normal. This problem happens even with the sinch demo. Any ideas to solve this?
I've tried: use multiple connections, updating the framework to the last version, in multiple devices, modifiy the frame from the callAsyncLocalVideoFrameHandler.
I expect to be able to send good video from devices with iOS 13 of higher and iPadOS.
we are aware of the issue, it's caused by a compatibility issue between iOS 13's H264 Codec and the WebRTC version we use on our SDK.
We are working to fix that. There will be a new major iOS SDK release to support iOS 13, at the moment we do not recommend customers to release new versions of their apps with iOS 13/Xcode 11 support.
Your current apps will still work on devices running iOS <12 and the new iOS 13, as long as they are not built with XCode 11.
iOS 13 brings also new directives to use VoIP Push on Apple devices, this will also cause changes on how customers integrate any VoIP SDK, if you use VoIP Push notifications.
See note and links on our website.
https://www.sinch.com/docs/resources/downloads/index_vvv.html#info-ios-13-voip-push-changes
Jorge Siqueira - Sinch Voice & Video.
I also see problems with iOS 13 and Sinch Video call. I have tried to go back and build with Xcode 10.3 but that does not help either. iOS 12 still works like you say

iOS 9 SDK requirement new app submissions / updates

we are currently developing an app which still uses iOS 8 as SDK.
I was wondering if there is any news related to a possible iOS 9 SDK requirement by Apple in the near future. I am following the Apple developer news but didn't see any news about it.
Anyone knows more about this?

Application Transport Security (ATS) and app submission

I searched online extensively but could not find any concrete/official information on the following questions related to submission of an app affected by ATS.
Q: ATS is applicable only on iOS 9 onward. What happens to older apps (built for iOS 8.x and below) when the device is upgraded to iOS9. Will they have ATS disabled by default or will they stop functioning if they are not ATS compliant?
ANS: Apps built for lower SDKs will opt-out of ATS by default. Was able to verify this using an iOS 9 beta 5 device.(app-dev-forum link)
Will applications that set the global ATS disabler flag (allowarbitraryloads) be admitted to the app store?
After iOS 9 releases, can apps linking to older SDKs can still be submitted to the marketplace? Apple is currently accepting apps with deployment_sdk of iOS 5
After iOS 9 releases, should apps be built with the release version of the SDK?
Q: I heard that if an app is built against beta versions, it will be rejected. Please correct me if I'm wrong.
ANS: Yes. Apps based on beta version of SDKs will get rejected.
Great if you can answer any of the above. I'll compile the answers in this post to make it easy for later reference. Would be great if you add any official links for ref. Any help is really appreciated.
As you said in your updated question, pre-iOS-9 apps are unaffected by ATS, because it only applies to apps linked against the iOS 9 (or later) SDK.
Yes. Disabling ATS globally is fine as long as there's a good reason for doing so.
With iOS 8, I think Apple started requiring apps to be built against the iOS 8 SDK about five months after iOS 8 shipped. So Apple might require you to build against the iOS 9 SDK at some point. Or maybe not. It's anybody's guess.
Yes, iOS apps should be built against the iOS 9 SDK at this point. Linking against the iOS 9 SDK probably won't be required (at least initially), but it is usually a good idea to keep up-to-date.
Yes, you must build against the final iOS 9 SDK version rather than any previous iOS 7 beta SDK.
Some of my answers are based on a personal experience, some on openion and some on documented apple guide lines.
It will not function on iOS 9 device.
From a personal experience. I had live app. that was functionning
perfectly in iOS 8.2 devices and once iOS 8.3 got released and those devices updated the App.
suddenly start crashing.
Set the ATS flag, build with iOS 8 (Xcode 6.X) and submit to the store.
PList is just a text file. It always can have non-recognized items by apple. As we always add values there for 3rd party libraries. I strongly don't think that apple's "current automated checker" will or supposed to check a future flag. and they will function for iOS 9 for the same reason app start crashing on point one!
Yes. Those should include the ATS flag. Otherwise, will be rejected.
Apps that do not perform as advertised by the developer will be
rejected. (2. Functionality 2.3)
NO.
Not applicable to force all developers to update their enviroment.
They only have to add the flag. Apple never did such a sudden
restriction.
True.
Refere to this answer. that shows a screen shot here.

Does Apple state which SDK version is mandatory to use for iOS apps?

Does anyone knows if there is a document from Apple that states what iOS SDK version you have to use for building your app to upload it to iTunes Connect?
I often read in blogs "only the latest", but I need this official from Apple because our vendor wants to build against the iOS 4 SDK because of "strange errors with iOS 5".
I'm not sure if this is OK. We want to run the app to run on iOS 4 and 5.
I too had read what you had—that the latest SDK had to be used... Yet, I haven't found an official source for this now I go looking for it.
Using the iOS 5 SDK does not prevent you from having a build target of iOS 4.2 (or similar), which will it to run on both iOS 4.2+ as well as iOS 5. Perhaps a good starting point is educating the client that there is a fundamental difference between the iOS 5 SDK and iOS 5 itself—they may well just be reacting to media coverage of iOS 5 issues like battery life.

Resources