16 ms·
I tried to do a Sign in with Apple integration on Android (wanted the app to have the same options across platforms). Testing on Android was next to impossible
by habosa 7y ago
I tried to do a Sign in with Apple integration on Android (wanted the app to have the same options across platforms).
Testing on Android was next to impossible. To test I needed an Apple ID with 2FA. But SMS 2FA was not good enough, you need the hardware-based 2FA. To get that you need a recent macOS or iOS device. As an Android developer I have no reason to own either of those.
Eventually I just had a friend who owns an iPhone try my app a few times.
Besides that, the Apple interface guidelines are nearly impossible to follow on Android because Apple doesn't provide the logo or font assets you need to comply. There is no SDK whatsoever, just a spec.
Seems like a nice sign-in option for iPhone owners but it's a portability disaster.
- sehugg 7y agoDoing it through Firebase might be easier: https://firebase.google.com/docs/auth/ios/apple https://firebase.google.com/docs/auth/ios/apple
- ehsankia 7y agoApple continues to not give any care whatsoever to anything outside their walled garden. For the longest time you couldn't even preview songs on iTunes store without having iTunes. Want to watch their biggest WWDC live? Had to use Safari until last year. Obviously iMessage and FaceTime are complete no-gos outside their walled garden too. This is how they keep people in. They have to close down their walls as tightly as possible, to force people in. And once you're in, they make it as hard as possible to leave.
- pier25 7y agoI use a mix of Apple and non-Apple devices. It's a shame that I can't, for example, use Safari on Windows or Android.
- freehunter 7y agoThere used to be a Safari for Windows. No one used it so Apple dropped support.
- K0SM0S 7y agoMore specifically, Apple never made it good enough compared to alternatives, so no one used it. It eventually died at the hands of its maker.
- wlesieutre 7y agoIMO what killed it was the text rendering. They brought their font smoothing over from Mac OS and that's not what Windows users are acclimated to. It might be more "correct" in some ways, especially from a graphic design / typography standpoint, but it looks fuzzy when you put it next to ClearType on the same screen. https://damieng.com/blog/2007/06/13/font-rendering-philosophies-of-windows-and-mac-os-x https://damieng.com/blog/2007/06/13/font-rendering-philosoph... https://blog.codinghorror.com/whats-wrong-with-apples-font-rendering/ https://blog.codinghorror.com/whats-wrong-with-apples-font-r...
- mavhc 7y agoWell, there was Mac GUI toolkit for Windows, which Safari and iTunes used, wasn't really Safari for Windows
- wolco 7y agoFirefox might be the answer or cross platform applications. Always good to get out of the ecosystem when you can.
- 7y ago
- reaperducer 7y agowanted the app to have the same options across platforms I guess this is the part I don't understand. How did you plan to test across platforms if you don't have an iOS device with which to test?
- deleted 7y ago[deleted]
- codemac 7y agoThey might mean their website rather than iOS.
- espadrine 7y agoI don’t know the author, but in a typical company, a project that is meant to work on iOS and Android will be dispatched to separate teams. In this case, the author might be part of the Android team, instructed to make Sign in with Apple work on Android, and they may not even be in the same physical location as the iOS team.
- alistairSH 7y agoBut, if he's at a company with the resources for 2+ mobile dev teams, surely he could convince his manager to purchase an iOS device? We have several drawers full of mobile devices for testing our web apps. Our mobile dev teams have their own piles of devices. It's a cost of doing business.
- SlowRobotAhead 7y ago>In a typical company, a project that is meant to work on iOS and Android will be dispatched to separate teams Truth. And why cross platform tools like React and Flutter are just getting more popular. I’m right in the middle of making that choice right now. But it’s definitely clear I can’t support true native apps.
- deleted 7y ago[deleted]
- dfrey 7y ago> Seems like a nice sign-in option for iPhone owners but it's a portability disaster. So basically it's like everything that Apple makes
- dep_b 7y ago> As an Android developer I have no reason to own either of those. Of course you do: Please implement this iOS application/feature in Android. Not being able to run an application from Xcode onto an iOS device severely hampers your career. I have to deal with so many Android developers and their output I absolutely cannot afford the luxury to not run Android apps from Android Studio. I don't think Sign In With Apple will be a huge hit on Android anyway. But perhaps you could share your code on Github for people that run into the same requirements?
- burkaman 7y agoAnyone with a computer can get Android Studio for free in 5 minutes. You can't download a free iPhone.
- dep_b 7y agoThe Simulator comes free with Xcode. And it's actually pretty usable in terms of performance compared to the Emulator you get with Android Studio. Either you get a $75 iPhone SE or you have something for free with your MacBook. Anyone with a computer still wants to use a hardware Android device for any serious testing. And then there's the differences between all of the builds between the brands. I bet you want to test on a Xiaomi before you want to declare that push notifications work.
- burkaman 7y ago> your MacBook Yes, this is the expensive part. Obviously if you are developing for iOS or porting an iOS app then you need the hardware. But it seems like an unusually high barrier for implementing a "sign in with" button.
- folli 7y agoI hate that I can't use Xcode on Linux.
- dep_b 7y ago
- eugeniub 7y agoNot to be that guy but you can get a used iPhone SE for $75, and it should last you a couple years for testing purposes.
- dylan604 7y agoReally, you need an iPhone model with each of the iOS versions you want to support on that hardware. If you want to go back to iOS11 up to current, then you need that many devices. Otherwise, because it works on that hardware and iOS combo doesn't mean it will work on a different combo. So it's $75 multiplied by the number of variations you want to support. It adds up quickly. As others have stated, it's just part of the cost of doing business.
- munk-a 7y agoAnd you can't forget - you need to get at least one with the silly notch in it. Oh, and don't even consider emulators - the iOS device emulators are trash.
- rhacker 7y agoPSA: If you're going to implement Sign in with Apple, PLEASE implement Sign in with Google (and vice versa). This is the EXACT issue we had when Apple Pay/Android Pay came out. The solution was for POS vendors to just implement both, always. SO, that's the solution here.
- hadtodoit 7y agoYou seem confused. Apple Pay works using the exact same tech as contactless payment cards, a widely supported standard.
- parliament32 7y agoDoesn't matter, you can configure the terminal to block certain issuers, like when you try to tap your Amex and get the "no supported applications" message. ApplePay is considered an issuer like the others.
- gamblor956 7y agoThis is false... The store chooses which credit cards to accept (at the birds-eye level, i.e., Amex, Discover, Mastercard, Visa), and the POS sends the transaction to the appropriate card processor based on the identifying digits in the card number (the first 4). Apple Pay transactions are identified as Visa transactions, so Visa would handle the transaction...if the POS terminal is configured to accept NFC cards. Most older ones don't even have NFC functionality, and until 2 years ago even terminals with NFC functionality didn't have it enabled because they were shipped before NFC payments was a thing. Today, almost all POS terminals come with NFC payment built-in and enabled.
- Marsymars 7y ago> Doesn't matter, you can configure the terminal to block certain issuers, like when you try to tap your Amex and get the "no supported applications" message. What's the deal with that? I've pretty much given up even trying to tap with my Amex because of how frequently it gives that message.
- 7y ago
- clay_the_ripper 7y agoYou’re an engineer who wants to implement Apple features, yet you don’t want to spend maybe, what, $200 for a test phone? These kinds of complaints are really irritating and disingenuous. My interpretation is that you’re more interested in complaining and finding problems than just buying a test phone and being done with it. It’s not that hard.
- mobilemidget 7y agoWell to be fair he wanted the app to have the same options everywhere. So regardless if he had a test iPhone, he wanted apple sign in to work on android. And probably vice versa too, google login on iPhone. Personally not a fan of either, separate email/passwords everywhere is what I prefer. But I cant say I have come across a non-apple service/site that offered apple login.
- munk-a 7y agoFor the purposes of authentication the closest equivalent Android side is "Sign in with Google" which can be done with 0 dollars and is a pretty straightforward and well documented API call that has specific SDK support in a lot of languages and settings.
- ubercow13 7y agoMy interpretation of this situation is that as an Apple user, Apple has done me a disservice by putting artificial barriers up that make it harder for third-party developers to provide me, an Apple user, good service. I don't see any reason to defend that, it seems to be only in Apple's best interest, not mine. Anyway, it's not $200 for a test phone, it's $200 just for a 2fa device. Meanwhile Yubikeys are $20 and have better battery life.
- looperhacks 7y agoWhy should anybody need to buy an iPhone to develop an android app? Using an API that is supposedly supported on android and shouldn't need an apple device? Btw $200 is not throwaway money for everybody.
- jakobegger 7y ago> To test I needed an Apple ID with 2FA. Apple make it such a pain in the ass to get Apple IDs. For example, they block emails from small domains. So I can't use my company email address to get an apple ID.... and I found that out by googling cryptic error messages, they don't even tell you. They don't want you to have multiple Apple IDs, so you need to store the credentials of your main Apple ID on your build server if you want to notarize apps (which is required for distribution). Also, the notarisation service doesn't support 2FA, so you need to get an app-specific-password that bypasses 2FA. It's ridiculous. Their security system is so complex and full of holes...
- bloody-crow 7y agoThis is news to me. My apple ID is on my personal domain (Google Apps) with only one email address on it, and it works fine. Could it be a recent change?
- benhurmarcel 7y agoAbout 6 months ago I was unable to use my email on a personal domain to create an Apple ID. I had to create an @icloud.com address. And I don't think it's an issue with my domain, it's been fine for the last 9 years.
- Marsymars 7y agoFYI you can normally change the email on an Apple ID after creation, without the domain restrictions that are present for initial creation.
- benhurmarcel 7y agoGreat to know, thank you
- Marsymars 7y agoIn my experience it's randomly prohibited by some algorithm.
- pcl 7y ago> SMS 2FA was not good enough, you need the hardware-based 2FA OT, but Apple is doing the right thing here: SMS is not a robust 2FA solution. A recent discussion: https://news.ycombinator.com/item?id=22016212 https://news.ycombinator.com/item?id=22016212
- Andrew_nenakhov 7y agoTheir approach is still ridiculous. I once tried to log into a brand new iOS device in a shop, and has unpleasantly learned that I absolutely can't log in using my regular Apple ID, cause, you know, they are showing a popup with code on my Mac which is 50km away.
- Klonoar 7y agoThat's... how 2FA sans texting works in the Apple ecosystem, yes. It's working as designed.
- Andrew_nenakhov 7y agoThat's exactly what I am complaining about: it is designed badly, I didn't ask for this and I can't turn it off.. I didn't ask for this, and still can't turn it off. On the other hand, Google does even worse: sometimes it requires 2FA with SMS when I have specifically turned it off, knowing I'll be abroad without SMS connectivity. Still, Google doesn't give a shit on disabled settings and still demands 2FA auth on connects from previously unused addresses. The only reliable way to circumvent this is to use a VPN with a fixed address, so Google always thinks it's a 'same' location.
- habosa 7y agoEdit: a lot of people are asking how I am working on a cross-platform app but I can't afford an iPhone / Mac to test on. To be clear I did resolve this situation with the Apple ID by asking an iOS-focused teammate of mine to test the app for me, that's somewhat besides the point though. I was trying to add a feature, Sign in with Apple, to my Android app. This is supposed to be possible. It turns out it is, but it was significantly harder than adding any other form of authentication to my app than I've ever tried. If they want it to be developer friendly they could: * Allow the creating of "testing" Apple IDs without the 2FA requirement * Have docs that actually mention best practices on non-iOS platforms * Maybe even provide a basic SDK I wasn't calling Apple evil or saying I couldn't afford a Mac, I was just calling out a bad developer experience.