App store submission guide - ios

My application is using local server to communicate. I am looking for app store submission. How to give a demo for app store review? Is it necessary to provide my application server on cloud or public IP?
Local server : Our application server is installed inside a network and my application receives alerts from the server. Local server IP will be configured inside my application. My application also use local PBX for voice call.

You could use Ad-hoc testing, where you could test the app for the real time environment and using the local-server/LAN. You will need to create distribution profile for adhoc testing of your app and mention the devices on which you want to test the app.
If you will try to submit app with the Demo version of your app in the appstore, then it will get rejected, apple requires fully working application in order to be available on the server, so make sure that your app is tested before submitting to app-store.

Related

App running slow when installed via MDM server compared to AppStore

So we have a white-labeled apps, and one of our client distributes their app through MDM server instead of the Apple's AppStore.
For some reason this client reported that the app is "slow/freeze" when open, he provided some videos that show the issue and the app is indeed "slow/freeze" in the videos. But when we let them install the app through AppStore the app runs properly without the "slow/freeze" issue.
Is there a difference when the app installed via MDM vs AppStore? Should the app performance get affected/reduced if installed with MDM server? If MDM server weren't setup properly can possible cause this?
As of now we don't have access to the client's MDM server does we can't investigate if the issue is on their MDM server setup.

App configuration for Apple review process

I have written some kind of a banking app which requires logging. Unfortunately, I can't let Apple guys during review connect to my production server, but I can give them access to my development server. Is it possible to modify endpoints addresses in my app after successful Apple review? Because to be honest I don't know how to switch my app from development to production server after review. And I don't know also how to handle updates in App Store which also requires Apple reviews.
One possible solution would be to ensure that every API request coming from your app to your server includes a version number.
You can then have your web server direct the request to either the production or development servers based on the version number.
Each time you start an update you increment the version number sent by your app and you update your web server to direct that newer version to development and all earlier versions to production.
Once you finish testing, you submit the app to Apple. Don't use automatic release. Use manual release. Once Apple approves the app, you update the web server so the new version number redirects to production and then you release the approved app.
Repeat again as you start working on the next update.

Apps given to testers are on production or debug environment?

When we upload the app to Apple Store and internal testers or external testers download it, They get debug or production app?
I saw some way by which testers got my newtwork call details i.e. urls and parameters that am sending.
Even though I was using HTTPS
I was using the native API provided by apple i.e. URLSession.

iTunes connect app name for TestFlight beta testing

I'm developing an app for a client (developed couple apps for myself before). Client wants to be able to test the app in TestFlight during the process. To be able to do that I need to create a new record for the app in iTunes connect for a beta review and add the client as an external tester. I'm developing the app using my own developer account, client will submit the app to the App Store with his own developer account.
So do I create a record in iTunes connect using some temporary name for the app? And then client will use a real name, when it will be ready? Or is there some better/easier way to organize this situation, like using old testflightapp.com?
Thanks.
If you already have an account with the old testflightapp.com site, that would be an easy solution. If not, that's not an option. They've stopped accepting new users. To use iTunes Connect TestFlight, you can upload the build to your account and then Transfer it over to his account at another time. You should choose the REAL name you want the app to use. That way, you'll be guaranteed to have that name for when you're ready to publish and you won't have to worry about trying to change it later.
Refer to docs here

How to test push notifications in iOS?

We have a live app which sends push notifications just fine.
New version of the app, not yet released - we want to test that push notification works, but it seems all we can test is that the service is working. This test version which uses the 'sandbox' doesn't actually send a push to a development phone ....
Is this right? Is there a way I can test this new version of the app AND receive push notifications to my device?
Been trying to crack it for several days now.
Thanks in advance!
Andy
You need distribute the Distribution version of your app using ad hoc.
When your application ready for submission, you create an ad hoc provisioning profile specifying an App ID that matches one or more of your apps, a set of test devices, and a single distribution certificate.
Here is an image to illustrate how the provision profile works:
You need to first test the app in isolation to check that is working, then when it is move on to testing the app and server in combination.
To test your app in isolation run it in Xcode and put in a breakpoint or NSLog to find out what the APN token is.
Then use the php script from here
http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1
using your APN token and credentials.
It should work, and it should work in the sandbox, if it doesn't then your app isn't correctly configured so work at investigating why it doesn't work until you can send it a push manually.
THen once you can send a push manually test you can send one using your server, if you can't then it must be due to a problem with the server as you have just confirmed the app is working. If the server isn't working its probably not using the credentials or applying the password to the credentials, something like that

Resources