When publishing an Apple app, can a third party get access before published? - ios

I am publishing my first iOS app to the App Store. However, the company that hired us wants to see the app work before we publish. Is there a way under the $99 developers plan to allow them to see the app work on a real iPhone?

For completeness there is another way. Although I've used TestFlight very happily for years, it can prove to be too complicated for some testers!
If your app has been approved by Apple (but you've set release date in the future), you can give people promo codes (which you can get from iTunesConnect) and they can download the unreleased app. This is great for getting your app to reviewers.
From iOS Developer Library:
Promo codes apply to a specific app version, so when users redeem
promo codes for a version of an app that hasn't been released yet,
they download the prerelease version.
https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/ProvidingPromoCodes.html
Obviously in your case, you probably want to get your client's approval before even submitting to Apple, therefore #Anil's answer is better for you.

This is possible through multiple platforms.
iOS 8
As mentioned above, refer to the following link:
http://blog.thebetafamily.com/2014/09/10/testflight-beta-testing-ios-8/
iOS 7 and below
Test Flight - https://www.testflightapp.com (Acquired by Apple and available on iOS8 as described above)
Hockey App - http://hockeyapp.net
Test Flight is free and simple to use. All you need to do is upload the certificate and it'll take care of the rest. Test Flight used to support other OS like Android. But after the acquisition, I think it only supports iOS.
Hockey App is also simple. But only supports certain numbers of builds or projects for the free version. Hockey App provides direct update during the app launch if a new build has been uploaded.

Related

Block app install from AppStore and app delete using Swift

I am aware that we can block safari content using swift code. I am interested in finding out if we can restrict install of certain apps from AppStore using similar approach ?
Also, is it possible if we can restrict a user from deleting the app from device (not from phone settings but from code) ? Even if Apple does not allow that to publish such app, I am looking for a solution as a part of research.
There are two things you mentioned.
First, can restrict install of certain apps from AppStore
Using Swift code I feel there are no Public API provided by Apple for the developer till now but there is a similar way that is called Device Enrollment Program.
The Device Enrollment Program (DEP) is part of the Apple Deployment
Programs (ADP), which help businesses and educational institutions
easily deploy and configure iOS and OS X devices. DEP provides a fast,
streamlined way to deploy institutionally owned iPad and iPhone
devices and Mac computers that are purchased directly from Apple or
participating Apple Authorized Resellers or carriers.
For more visit this developer guide.
Second: restrict a user from deleting the app from device
Same response for that, till now no Developer API, but lets say if we see this as a part of research and we develop some POC still, it does not make sense for me at all (It's my device and I install the app for making my life easy and better if I don't want to use it anymore, I need an option to delete it) and I don't think so this will be possible in future as well because the USP for iOS device is user experience and we can't make this like that.
I also want to hear something from others and if possible give the use case why you are looking a solution like that.
I hope this will help.

iOS Switching from paid to free app, how does one know who previously purchased the app?

I have a paid app that was released on iOS 4. It hasn't been updated and I'm now reworking it to work with iOS 10. Since in app purchasing was not a thing, I made a free (lite) and paid version of the app. I would like to update the paid version to iOS 10 and change it from paid to free with ads and an in app purchase to remove ads.
I tried researching various methods and I have not found a fool proof way or evidence that one will work in all cases. The two most prevelant methods I found:
Use an existing UserDefaults key value to determine if they opened the old app and then grant them no ads in the new version.
I don't think this method will work, as if the app was uninstalled or the user redownloads it after the update they would not have that value.
I believe iOS 7 offered receipt checking. Use receipt checking to determine if the user has paid for the app and check if the date is before the new version date.
I'm not sure if this would work either. I saw in the documentation to verify locally. Would everything I need exist if the app was an iOS 4 app originally? Would this work for users who had the app through a promo code? What if they don't have an internet connection at the time they open the app? I had trouble finding sample code for this option to test.
How would I go about doing this? Are any of the methods above the only way or are there others?
Out of all the resources I found on this subject, checking the receipt seems to be your only feasible choice. If you have an account where you purchased your app, you can run the new version of the app via Xcode with that account and see if the receipt validation gives you the expected information. Though installing the app via Xcode may alter the receipt that the account has, you may want to check on that.
NSUserDefaults option could work if you were setting any value to NSUserDefaults on the iOS 4 version.

With TestFlight being replaced by iTunes Connect, what will happen to enterprise app beta testing?

I couldn't find anything about enterprise beta testing in the iTunes Connect Developer Guide so I hope this question doesn't seem too out of place here. Also, it says here that even the beta will be subject to a review. We are using private APIs so the app will not pass the review.
What I want to be able to do is continue beta testing our enterprise apps without any AppStore reviews. Can I do this on iTunes Connect or do I have to find an alternative now? If its the second, then could you please recommend any possible alternatives. Thanks in advance!
Let's see if Apple is coming up with some updates to the current version. It's not only the Enterprise testing support that is missing ...
But you can easily jump to another Beta Distribution Platform, some free, some paid, some freemium:
https://crashlytics.com/
http://www.hockeyapp.com/
http://ubertesters.com/
https://www.testfairy.com/
http://www.applause.com/mobile-sdk
https://appblade.com/
http://www.installrapp.com/
https://deploygate.com/
... and probably others I don't know.
Or you could host your own:
http://www.hanchorllc.com/betabuilder-for-ios/
http://hockeykit.net/
I personally switched to Crashlytics, it covers all that I need and it's free. Some things are better than in TestFlight, some aren't as good. But your choice might be different - some other platforms offer crowd testing for example or premium in-app test features.
You will never pass the AppStore review when using private APIs. Thus the only possible solution is to switch to alternatives. TF is not for enterprise app testing and we need to take it as it is.
I found nice article on beta testing enterprise apps without AppStore review, not sure if it is something you were looking for, but the main point is the same as yours. When testing enterprise app, you need to support different OSs (not only iOS 8) and you need to distribute your build without any reviews. Today TF is going to shutdown these both features.

Can we use PJSIP/Siphon in our SIP Voip App

We are working on a commercial VOIP application based on SIP. We have found PJSIP/Siphon and able to compile for iOS 7. And it's working fine for us. So, our doubt is if we can use this in our app and deploy the app to app store.
Thanks.
It depends.
If you have an open-source product you can use it in the AppStore.
If you do not share your source code you must buy a license from Teluu before you launch it in the AppStore.
If you use Siphon, you will need to look at their license terms as well before pushing it to the AppStore.
Otherwise they can sue you and get your app kicked out of the stores and it can become a very expensive process for you.

iOS Development: Updating Free App After Buying

Ok, i don't know how call it but here i'll try to explain it...
I am developing an app and i am almost finished with it, and what i wanted to do is, first upload it as a free app for preview where the user has limited usage of it (like some features are blocked), it has ads that says to buy the full version and when the user bought the full version, it will automatically updates and unlock the other features.
The first thing that comes to my mind is to have 2 different apps the one for free and the other one is the full version and both upload it on the app store, but i saw some application that automatically updates their version after buying the full version.
How will i able to that?
Three words: In. App. Purchases.
StoreKit Framework Reference: http://developer.apple.com/library/mac/documentation/StoreKit/Reference/StoreKit_Collection/_index.html
Full Tutorial: http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/
Have fun
You should set up an in app purchase:
http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/

Resources