Iterable / swift-sdk

Iterable's iOS SDK. Receive and track pushes to Iterable from your iOS app.
https://iterable.com/
MIT License
86 stars 73 forks source link

'shared' is unavailable: not available on iOS (App Extension) on Xcode 13 beta 3 #488

Closed paulmesa-paypal closed 2 years ago

paulmesa-paypal commented 3 years ago

Describe the bug The package is not compiling on Xcode 13 beta 3, shows this error: 'shared' is unavailable: not available on iOS (App Extension) - Use view controller based solutions where appropriate instead

Steps to reproduce the behavior: Open your project using Xcode 13 beta 3 Clean project Build Project See error

Expected behavior: Package compiles successfully

Versions Xcode: 13.0 beta 3 (13A5192j) Mac OS: 11.4 Library Version: 6.5.6

Additional context There is a thread here https://forums.swift.org/t/set-application-extension-api-only-on-a-spm-package/39333/17 which explains the issue.

paulmesa-paypal commented 3 years ago

Here is an example fix in the braintree iOS sdk https://github.com/braintree/braintree_ios/commit/89912f4cc91cf8b715343623e9572b325cb949ac

tapashmajumder commented 3 years ago

Hi @paulmesa-paypal we officially do not support beta version of Xcode. We only support the latest released version of Xcode.

We will try to take a look at this if this is an easy fix.

tapashmajumder commented 3 years ago

Thank you for all the links provided.

kylebrowning commented 3 years ago

Here's the fix:

https://twitter.com/twannl/status/1415643866414338054

paulmesa-paypal commented 3 years ago

Understandable! @tapashmajumder I do have a fix up on a fork that we've been using for development here https://github.com/Iterable/swift-sdk/compare/master...paulmesa-paypal:pm/july/SteelThread but I havent verified any behavior outside of the small subset that we use. This also marks entire classes as unavailable whereas the final solution might involve making only certain functions unavailable

kylebrowning commented 3 years ago

Just want to reiterate, this makes Xcode beta's impossible to use without removing Iterable entirely.

I know that you dont support betas, but I just want to highlight that this means we can't work on features in coordination with Apple to launch along side the release of iOS 15.

It is extremely debilitating to have to remove Iterable each time we need to work on an iOS 15 feature in anticipation of the launch.

tapashmajumder commented 3 years ago

@kylebrowning Can you please escalate this issue using your CSM for Iterable? Which company do you work for? This way we can prioritize this issue with urgency if needed.

kylebrowning commented 3 years ago

The Athletic. I'll raise a new support ticket, thanks.

kylebrowning commented 3 years ago

I opened a ticket, got a response a day or so later, but I havn't heard back since. At any rate, it looks like Apple has reverted this change in Xcode Beta 5 and Iterable works again!

tapashmajumder commented 3 years ago

Good to hear this @kylebrowning . In the future if you open a ticket and get no response kindly have the item escalated via your CSM. This ticket did not get escalated to engineering.

I will go ahead and close this issue.

kylebrowning commented 3 years ago

Well I wouldn't say this should be closed, Theres a very real chance you'll have to do this in the future.

tapashmajumder commented 3 years ago

OK. Keeping this open.

tapashmajumder commented 2 years ago

This issue should be resolved with SDK version 6.3.4