Hacker News new | ask | show | jobs
by blhack 3296 days ago
This is particularly annoying while my beta is "waiting for review" so I can have the privilege of giving it to a few beta testers.

How does apple not expect that annoying developers with their app store process (so much so that things like this exist: https://fastlane.tools/), AND charging them 30% AND apparently not actually reviewing anything about the apps making it into their store isn't going to eventually drive people away from it?

(Why yes, I am cranky over the amount of hoops I had to jump through to get to the point of asking apple for permission to put my beta on my co-founder's iPhone)

7 comments

You can use HockeyApp (https://hockeyapp.net/) or just get your friend's UDID and build an IPA yourself to distribute the build to your friend's device, even if he or she is remote.

Testflight is more intended for "semi-open" betas where you only have tester's email.

You can also do "internal testing" with TestFlight. That way the app is available immediately to any team members and doesn't have to go through review. You have to add the team members somewhere in the portal, but it would make sense for a co-founder to be in there.
get your friend's UDID - yes, you can, but there is a 100 device limit. you can reset that list once a year. it is meant for your team, not for testers.
See now that the OP talked about co-founder. So that is a good use case for an Ad Hoc build for sure.
Yeah, thanks for the advice everyone.

I'll totally admit that apple dev flow (not writing the software, just how to get it to run on devices) is completely foreign to me. Concepts like "itunes connect" (which seems extremely odd to me, since I always thought of iTunes as a media player, not something I would use for software development) are confusing.

Figuring it out, though. Thanks again for the advice (and sorry if I accidentally threadjacked this).

I am pretty familiar with the hoops and even to me it's pretty much a huge pain. It's not just you with that opinion.
As well as the name of the music player app on Mac (on iOS it is only the music buying app), iTunes is also the umbrella term for everything related to buying stuff as a download from Apple (music, movies, books, apps). The App Store started as an offshoot of the iTunes Music Store. And it is still called the iTunes App Store in some places.
I've used Hockeyapp a few years ago for testing iOS apps and the whole workflow was a nightmare because of Apple's restrictions. You had to get users to send in IDs, add the IDs to Apple's site, download a file with the IDs in them, add the file to your app then build and deploy each time you wanted a new tester. You can't run OSX on e.g. AWS/EC2 so setting up continuous integration was troublesome and there was only unofficial third party tools for building from the command-line. Xcode and app installs would also fail all the time with obscure errors about certificates and Googling for solutions turned up hundreds of threads with different solutions and other developers being stumped.

Have things improved?

Beta testing with Android is easy. You can build the app on any OS you want from the command-line and send the app to anyone with no restrictions.

Thank you!
> How does apple not expect that annoying developers ... isn't going to eventually drive [them] away from it?

Apple can dump on developers all they want. As long as they have a consumer base who is more loose with their app spending money than Android users, and a more consistent platform to develop on, developers will stick with iOS just as much as they have. The devs may complain more, but Apple's market is simply more profitable to be in.

Your comment has been noted by Apple, and your app sent to the back of the queue.
I know your comment is a joke, but from Apple's official App Store Review Guidelines (in the introduction):

"If you run to the press and trash us, it never helps."

https://developer.apple.com/app-store/review/guidelines/2016...

Let me post the full sentence for the better context:

> If your App is rejected, we have a Review Board that you can appeal to. If you run to the press and trash us, it never helps.

Context really doesn't help that threat.
Wow! This almost reads like a threat, but I'm guessing what they really meant is "we're not going to be intimidated by off-channel pressure".
Also, in some cases/ if you're lucky enough to get significant coverage, it DOES help. E.g. https://9to5mac.com/2017/05/24/dash-app-store-return/
I've always said that's stupidly annoying stopping me from installing apps on my own phone or on my relatives and friends as long as I do it manually using an USB cable. Also stopping beta apps from running after a week. My macOS apps run forever and I develop dozens of apps for personal use.
It's 60 days now?
Off-topic, but I think the idea is to have someone like your co-founder be an internal tester—no review required!
That's totally helpful, thank you!
> isn't going to eventually drive people away from it?

It's wishful thinking - most mobile developers can't afford to say no to abuse from their primary revenue stream.

Use Expo.io ... if you're building in React Native, Expo is the easiest way to distribute apps (even on the Web with Snack)
Expo.io appears to be about the build process. The app still needs to be submitted to the apple store.
I thought the issue was him trying to get it on his cofounder's phone?
At most expo streamlines the build process. You can do all that in xcode. It's been a while since I looked at it but apple let's you have 100 test users.
I love expo to bits but their are many React Native scenarios where it’s not going to work.

One example would be if an app uses third party libraries that rely on native code. Now on the surface this might sound like an exotic requirement but consider that most mobile apis for third party services will probably wrap objective c or Java code.

An example of this came up for a friend who was building a github app. He had to eject from expo because the github mobile api wasn’t included in expo and required native code for authentication.

React Native fully supports the use of abitrary native code. You just write a small native module and then port it into the JS side

You can even work with things like Promises etc across native boundaries

Thats true (I've wrapped native code before) but if you use any native code you can’t use expos over the air updates or the qr code scanner. So it wouldn’t solve the parent comments problem, in that scenario, which is actually quite common.

Also, the last time I checked ejecting from expo, which you will need to do to use native code, was a bit of a pain. That was a few weeks ago so maybe they have stream lined the process since then.

Yes, but that's not true of Expo, is it?
I understand that, but suggesting it as a tool for prototyping and easily sharing apps with others (which was the concern I was responding to) does not warrant multiple down votes, unless the readers here are absolute assholes?
I didn’t down vote you. However it’s very likely that the guy isn’t using React Native and if he was he’d most likely know about expo and its limitations.