metrodroid / metrodroid

Read data from public transit cards using your NFC Android phone! (iOS 13 and PC/SC support coming soon)
https://www.metrodroid.org
GNU General Public License v3.0
508 stars 72 forks source link

Distributing Metrodroid on the iOS App Store #730

Open robbiet480 opened 4 years ago

robbiet480 commented 4 years ago

Hi,

I've been following the development of Metrodroid for iOS closely over the last few months and have been actively using it on my device. I think it's at a point where it can be safely submitted to the App Store. I thought I'd reach out to offer to do so under my pre-existing Apple Developer Account. I am the author (and publisher) of one of the largest open source iOS apps, Home Assistant which has over 200k downloads. I have almost 4 years of experience on all things iOS and App Store. I also was the author of TransitPal, a short lived project to build a native app for scanning transit cards that used MdST and was built around the time that @phcoder was doing the work to get Metrodroid itself building on iOS. I'm happy to distribute Metrodroid under my account, assuming @micolous doesn't wish to pay $99/year for the privilege.

Here's the actions that I believe need to be taken to make this possible:

In addition to (eventually) submitting to the store, i'm happy to offer Metrodroid for testing via TestFlight. I've already submitted the app for beta review only. Once it's been approved I will share the Testflight invite link here. If you decide to not move forward with me publishing then obviously i'll take it down.

Anyway, let me know how I can help or what information I can provide, i'm happy to do so and hope to see Metrodroid on the App Store soon!

robbiet480 commented 4 years ago

Testflight is now live at https://testflight.apple.com/join/O7OYdFao

phcoder commented 4 years ago

Please don't distribute it on app store until we resolve the license conflict with apple Eula. Both Michael and me are currently working on it

robbiet480 commented 4 years ago

I don't plan to distribute on the store without both of your full approval, don't worry. I hope that TestFlight is okay for now, but if not I can delete the link.

micolous commented 4 years ago

Heya, thanks for your enthusiasm, and apologies for not communicating on this. It's been a busy few months for me, and I've been pre-occupied with real-life issues and fixing up some of my various other projects.

Regarding the fees, both @phcoder and I have Apple developer accounts paid up already. This is required for us to deploy iOS applications that used NFC APIs to our own devices.

Regarding the icon, I built it purely in raster form. The source SVG used for the logo is based on GTFS-sourced geospatial data, and even after significantly simplifying its geometry, it was still extremely intricate and too difficult to work with in vector form.

I think this may need an update for Android because of Google Play Store policy changes.

Regarding #703, according to the Free Software Foundation, Apple's App Store EULA is incompatible with the GPLv2 (which doesn't contain anti-tivoization clauses added in GPLv3). I discovered this issue when I was trying to set up things in App Store Connect and TestFlight.

I consider an open source project's license a tool to encode the wishes of people who contributed to it. I want to ensure that I respect the wishes of those who have contributed to FareBot and Metrodroid over the years. As a result, I decided to stop further iOS work (even setting up TestFlight) until that issue can be resolved.

@phcoder has gone through git logs and made a list of contributors we need to get in contact with to get that merged, and I started drafting a form letter for this. We already have the "OK" from the folks who have contributed the majority of lines-of-code, but we need to get all of them onboard to go ahead with any distribution of Metrodroid binaries for iOS (or start removing their contributions).

Right now that's the main blocker for iOS deployment; and this is before we start going through the App Store approvals process.

robbiet480 commented 4 years ago

Great, thanks for the thorough update @micolous. Had I known any of this, I wouldn't have moved forward at all with publishing on my own. I'll go ahead and disable my TestFlight link for now as it seems like you or @phcoder will be able to get this published on your own.

Let me know if I can be of help in any way to get this on the App Store.

micolous commented 4 years ago

Thanks!

Also, thanks for your PR #731, that's still helpful because we'd have eventually encountered these problems :)

robbiet480 commented 4 years ago

Glad that helps a bit.

I'll also point out that the app sailed through TestFlight beta review without even a question from Apple. To be clear, there's a much lower barrier to pass that but its a good sign at least that they didn't instantly reject it for a violation or because they were unable to properly test.

micolous commented 4 years ago

I've written up a form letter a couple of weeks ago, but I haven't heard from @phcoder recently – I suspect he's quite busy with real life commitments now.

If you don't mind, I've shared a copy of what I wrote with you for review (Google Doc). After that, I can start contacting people.

robbiet480 commented 4 years ago

The only suggestion I have for the letter is you probably need a Google Form linked from it to accept contributors approvals, right? Or are you hoping to just have them reply to the email and you'll manually manage it.

arseniov commented 1 year ago

Is there any way to get a beta code? I would love to try the app. TestFlight says there are no beta testing free spots at the moment 🤕