-2

I run my own VPS in Amsterdam where I have a MySQL database that is being populated and maintained using ASP.NET. It's a Windows Server.

I use this API for four of my existing Android apps (published and working) with a few thousand users who never had any issues connecting to the API through those apps. Recently I finished one of the apps on the iOS platform and it got rejected because Apple couldn't get it to load any content, or it would get stuck on loading without ever returning anything (after we implemented a loading progress animation). After a lot of messaging between me and Apple's review team, they ended up accepting my app to be passed through review even though they never got it to work (or so I believe, they just said they would re-review it and it suddenly got approved after 7 rejects). None of my friends, family or users ever experienced any issues like this on either Android or iOS.

A good friend of mine who did most of the work on the API is also from the USA, which makes me doubt it's a location problem.

I must note that pretty much 99.99% of my users are Dutch and all my projects are build for Dutch users.

Does anyone have experience or ideas in this field? I'm about to publish an update for the already published app and I'm afraid they will reject it because of the same issue.

The exact message I got at first was:
Specifically, upon launch we found that the app failed to load any content.

Eric Aya
  • 69,473
  • 35
  • 181
  • 253
  • 1
    Well, what is your question? – Eric Aya Apr 18 '16 at 12:49
  • where is your API hosted, did you check if its reachable from other countries ? – ogres Apr 18 '16 at 12:52
  • Does your services work on test devices ? Or there is only issue with live app? – Muhammad Adnan Apr 18 '16 at 12:52
  • Did you try on iOS 9? – gnasher729 Apr 18 '16 at 12:56
  • hold on , your services must be on https or NSAppTransportSecurity key in info.plist shoud have TRUE against NSAllowsArbitraryLoads key – Muhammad Adnan Apr 18 '16 at 12:58
  • @EricD: if anyone experienced something similar or has a solution. I couldn't find anything about it through Google or SO. ogres: It's in Amsterdam, but there are no limits between countries as far as I know. MuhammadAdnan: It works on simulators and physical devices for me, family, friends *and* users. There is no issue on the live app at all, it's only Apple that can't connect to my API through the app. gnasher729: I tried it on 9.2.1, 9.2.0 and 9.3.1. Apple uses 9.3.1 as well. MuhammadAdnan: NSAppTransportSecurity has been set in the PList already. – user1422494 Apr 18 '16 at 13:08
  • @EricD: I'm sorry, I'll try to be more clear. I was hoping someone on SO had more experience with an ASPNET api combined with an iOS app that was rejected by Apple for something nobody else seems to be able to reproduce. There's no faulty code and there's no technical issue, all I get back from Apple is stating they can't get any content to load on an app that works perfectly fine for me and my relatives. Again, I apologizie if this is not clear enough but I don't know where else to look at this point. – user1422494 Apr 18 '16 at 13:18
  • Make sure your VPS has to be https, then try your app connecting with mobile data. if that works with mobile data then you require to check VPS and firewall enable with SSL and TLS. – Hasya Apr 18 '16 at 13:21
  • Does your server have logging to verify that requests are received and served, along with IP addresses or other identifying information? – Phillip Mills Apr 18 '16 at 13:31
  • Hasya: As far as I'm aware, Apple does not require all requests to be made over HTTPS. My API is not HTTPS either but I could upgrade it as a test. @PhillipMills: nope. All you do is you send a HTTP request and get back a list of data from my server. – user1422494 Apr 18 '16 at 13:34
  • So, no server-side debugging ability at all...that's rather sad. – Phillip Mills Apr 18 '16 at 13:37

1 Answers1

0

Changing the API calls to be over HTTPS seems to have fixed the issue, Apple now has access to my API through all my apps.