How do you do "public betas" on iPad? - ipad

A friend of mine is interested in developing an iPad application, and he's heard that "most iPad apps don't offer public beta versions".
Is it true? What mechanisms can he use to distribute a private or public beta version of his app?

You can distribute them in a couple different ways:
A) distribute the source code. This will allow other developers who have an apple developer account to compile and install the app onto their iPad.
B) Release a version 1.0 on the app store and mention that it is still very rough/may have some bugs, and to please provide feedback (obviously only works for public betas)
C) Create a repository for installation of the app via something like Cydia on jailbroken devices. This will allow anyone with a jailbroken device to try your app without the need to give them the source code. Obviously this will allow you to do certain things that you wouldn't be allowed to do normally, so you'll have to make sure you don't do any of those things inadvertently.

All of this answer is re: Private beta - which is mentioned in your verbiage but not your title.
There used to be a website called ibetatest.com that did iOS beta testing (I have no affiliation with them, only remember seeing their offering, which looked interesting).
Additionally, if he wants to do it himself, he'll have to find users of the iPad who are willing to beta test for him. In the distribution instructions on the apple developers site, it will tell you how to make ad-hoc distributions available which he can then disseminate to his beta testers.
This is the short answer, it's quite involved, but once you've gotten to that point, it's something he will be intimately involved with.

Related

What's the most straightforward way to share an iOS app development build?

I'm developing a mobile app (using React Native for that matter), and I'd like to have one of the members of my team try it out.
With Android, I can just share the apk with them. Is there something similiar in iOS?
There is a bunch of tools to do this. Test Flight is not the easiest way to share a build because you need to submit it to the app store, it needs to be processed, pass through all the checks before someone can download it.
Whilst you should definitely use Test Flight to deploy official test versions, an internally used tool for alpha and beta versions is quicker and easier.
I would suggest a tool like Fabric Beta (currently owned by Google), which is a free app deployment + analytics tool. you will need to add some code to allow it to work but it is a simple process. It comes with a program to help deploy and you can plug it into most CI software.
You will need to ensure you have the device UUID's of people in your internal team to sign the application for their devices.
Test Flight is what you're looking for.
First though you need to add the UDID of your team member's device to the provisioning profile used to create the .ipa (iOS equivalent of an APK). But after that, just follow the information and tutorial(s) at the provided link.

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.

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.

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

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.

sharing ios development between developer and non-developer

I'm about to make an individual iOS dev account, but I would like to share my work with a colleague or two for input that do not have an account (they have Xcode). They will look at the code maybe a bit, but mainly to test the app itself and provide feedback for me. Currently I don't have an account and what I have done is take a screencast of the app in the simulator and send the screencast. Obviously not ideal. So what are my options to share my progress on a daily basis? I think just to have them run in the simulator on their end is fine, until the app is almost complete then maybe on their phone would be good too. Thanks,
rc
A) look at testflight (testflightapp.com) - it's a site which allows you to email ad hoc builds of an app to testers.
B) put your code into version control and give them access. (ie GitHub.com) then they can build it themselves with Xcode onto their devices.
I'd go with A, it gives you more control and the potential for fewer support questions :)
I'm not sure why you would want non-developers looking at your code but I'd that's really needed, option B :)
The type of developer account you get and your ability to share your code are two unrelated issues. Unless you want your colleagues to be able to build your code and install it on test devices, they don't need developer program subscriptions. You can share your code with them in whatever way suits you (give them read access to your version control system), and you can build test versions that they can install on their devices. The only thing they won't be able to do is to build the app themselves for installation on a device.
If the main purpose is for testing, then get an enterprise certificate, sign the app with it and send the ipa file. They will install it and test the app.

Resources