aws-amplify / aws-sdk-ios

AWS SDK for iOS. For more information, see our web site:
https://aws-amplify.github.io/docs
Other
1.68k stars 885 forks source link

Cannot compile for UIKit for Mac #1603

Closed colinhumber closed 3 years ago

colinhumber commented 5 years ago

Describe the bug With the new UIKit for Mac support in Xcode 11 and macOS Catalina, this library is currently unable to compile the My Mac target. There are unavailable keychain APIs preventing the SDK from being compiled.

To Reproduce

Which AWS service(s) are affected?

Expected behavior The SDK should compile

Screenshots image

Environment(please complete the following information):

Device Information (please complete the following information):

Additional context Add any other context about the problem here.

colinhumber commented 5 years ago

Just as a note, not asking specifically about macOS support, just that the internal dependency on UICKeychainStore be updated to remove any calls to unavailable APIs.

mutablealligator commented 5 years ago

@colinhumber Thank you for reporting to us. I have tagged this as a feature request and added to the backlog for prioritization.

colinhumber commented 5 years ago

@kvasukib I would be happy to work on this. After checking the custom prefixed UICKeychainStore code in both AWSCore and AWSCognitoAuth, the offending methods are already wrapped in an #if TARGET_OS_IOS. These methods are also not called anywhere in the AWS code. In Xcode 11 there's also a new TARGET_OS_UIKITFORMAC macro available to deal with these unavailable APIs. Of course, that can't be included until the public release, but this should be a pretty trivial change, as far as I can tell to get this working for both iOS targets and iPad apps deployed to macOS.

mmdumi commented 5 years ago

Hi, Any other news regarding this ?

EmperiorEric commented 5 years ago

Hoping for updates here. Is there a branch with this working?

EmperiorEric commented 5 years ago

@kvasukib Any updates on this? We're probably about a month or less from release.

@colinhumber Did you work around this somehow?

air720boarder commented 5 years ago

Bumping for updates

colinhumber commented 5 years ago

I've been waiting to get an official update, but in the meantime I have this on a branch. I might just do a PR since there's been no word as to whether this will be internally handled.

https://github.com/colinhumber/aws-sdk-ios/tree/uikit-for-mac

Hardiktspaceo commented 5 years ago

When we get the updated pod which is also support macCatalyst ?

meyumeapps commented 5 years ago

Another vote for an updated pod please with support for macCatalyst

awumsuri commented 5 years ago

Please update

ralfebert commented 5 years ago

AWS for iOS still doesn't work out of the box on Catalyst because of these errors. Given how small the required change is and with Xcode 11 being released now, wouldn't it make sense to release an update?

xylys commented 5 years ago

Please update

happyhappahappsie commented 5 years ago

yes please ;)

chrisCGL commented 5 years ago

Please make this update to the pod file so that we can work with the catalyst

amuresia commented 5 years ago

Bumping for updates, thanks!

jaelee1993 commented 5 years ago

Has this been resolved?

vyacheslav-gorlov-clearscale commented 5 years ago

It will not work if we are using Cognito, because it includes compiled .a lib.

vyacheslav-gorlov-clearscale commented 5 years ago

Another problem is SFAuthetnicationSession which is not available on Catalyst.

ppamorim commented 4 years ago

Please fix this.

LYM-collab commented 4 years ago

I need a fix for this if possible. Thanks

jhays commented 4 years ago

I tried using @colinhumber 's uikit-for-mac branch, but my project needs AWSIoT, and I am running into another error when trying to build for macOS Catalyst in AWSSRWebSocket.m - the import is not found.

samirsd commented 4 years ago

please fix

robwithhair commented 4 years ago

Now the only reason my app doesn't work on mac. PLEASE FIX ASAP AWS!!!

jaelee1993 commented 4 years ago

Any luck on this?

LYM-collab commented 4 years ago

Going to keep asking here as this is important to us.

robwithhair commented 4 years ago

@nikhil-dabhade any update on this?

robwithhair commented 4 years ago

@royjit any update on this? Just won't build on Xcode ATM.

Jeremy-Kotai commented 4 years ago

Please update!

code-surf commented 4 years ago

Any updates?

roddymunro commented 4 years ago

This is blocking us from working on our Mac Catalyst app. Please update ASAP.

jaivia commented 4 years ago

Why is AWS so against any sort of macOS support...since 2010 it makes cross platform Apple applications impossible

robwithhair commented 4 years ago

There’s nothing worse than investing your time writing against a library only to find it gets you 99% of the way there but not that last 1%. Re-wrote my app to use API calls at great expense. Won’t waste my time on an Amazon maintained library again.

samirsd commented 4 years ago

can i at least get the brand of wax that jeff bezos uses for his head? thnx in advance

junya100 commented 4 years ago

Any updates? I really need this update.

ppamorim commented 4 years ago

Sadly I don't think AWS will help us, instead, we will wait for macOS Big Sur that allows iOS apps to work directly.

msuzoagu commented 4 years ago

@royjit @nikhil-dabhade can you please provide an update on this? Are we ever going to get this or not? So we know how to move forward.

drochetti commented 4 years ago

Hi @msuzoagu, we're currently evaluating supporting other platforms, such as MacOS. Our primary goal is to add support for other platforms in Amplify iOS , we're still not sure if we'll be able to cover all the SDKs, since there's quite a bit of area to cover and also legacy code. Regardless I'll keep you posted.

In case you're working on new projects, I suggest you check if Amplify is a good fit for you.

quangctkm9207 commented 3 years ago

@drochetti : Thank you for sharing the primary goal on Amplify iOS. Yeah, it is better to migrate there, but it might take time. Can you help me to clarify several things?

  1. Does Amplify iOS support Mac Catalyst at the moment?
  2. And is there any plan that AWS SDK iOS supports Mac Catalyst in the near future too? If not, I might migrate to Amplify iOS as soon as possible.

Many thanks, Quang.

drochetti commented 3 years ago

@drochetti : Thank you for sharing the primary goal on Amplify iOS. Yeah, it is better to migrate there, but it might take time. Can you help me to clarify several things?

  1. Does Amplify iOS support Mac Catalyst at the moment?
  2. And is there any plan that AWS SDK iOS supports Mac Catalyst in the near future too? If not, I might migrate to Amplify iOS as soon as possible.

Many thanks, Quang.

It's very unlikely we will add support to anything other than iOS to the SDKs, but we are evaluating and working on a plan to support more platforms on Amplify. An issues was created recently asking for macOS support, feel free to +1 it and also leave comments about your needs. The more info we have about developers' needs, the better: https://github.com/aws-amplify/amplify-ios/issues/1124

colinhumber commented 3 years ago

@drochetti If you're cool with it, I'm going to close this issue as you mentioned there's a feature request already set that's a better place for people to +1.

palpatim commented 3 years ago

Thanks @colinhumber, it would be great to consolidate feedback on that issue rather than splitting the conversation.

parachutemind commented 3 years ago

ditto for this request. Catalyst open up the possibility of using UIKit code in macOS. However, with Swift UI and Apple Multiplatform projects it is possible to write "pure" UIs that can easily run on macOS. We have a project that requires macOS support and we hit this early snag of not able to use graphql with Amplify and AppSync. Note that Apollo code compiles and run on macOS in multiplatform projects targeting macOS >= 11.0. One thing I have not tried is importing the source of AWSAppSync and Amplify not the xcframeworks.

kvaDrug commented 2 years ago

@drochetti, you misunderstand the request. Mac Catalyst is not the same as macOS. To add this platform you need much less steps, it's almost like iOS simulator running on mac.