Distributing methods of an original/fixed AWARE iOS
AWARE iOS is an open source software. Therefore, you can download it from GitHub ( https://github.com/tetujin/aware-client-ios ) and modify the source code by yourself. In this tutorial, I would like to describe how to distribute your original/fixed version of AWARE iOS to users.
There are several methods (e.g., AppStore, TestFlight, AdHoc, and Apple Developer Enterprise Program) to distributing your original/fixed AWARE iOS to users. However, due to the Apple’s policy, the each method has merit and demerit. Therefore, a developer/researcher should care which method is best for your study.
Features of each method are gathered on the following table:
Method | UUID Registration | Distribution Platform | Apple’s Review | Estimated Review Time | Account Fee (Year) | Software Update | Build Expiration | Maximum Device Number | Recommend Study Scale |
---|---|---|---|---|---|---|---|---|---|
AppStore | NO | AppStore | YES | 1-7 days | 99$ | Automatical or Manual | NO | Unlimited | Large (>100) |
Xcode | YES | Xcode | NO | Immediate | 0$ | Manual | NO | 100 | Small (<10) |
TestFlight (Internal) | YES | TestFlight | NO | Immediate | 99$ | Manual (with notification) | 90 days | 20 | Small (<20) |
TestFlight (External) | NO | TestFlight | YES | 1-3 days | 99$ | Manual(with notification) | 90 days | 20,000 | Large (>100) |
DeployGate (AdHoc) | YES | TestFlight | NO | Immediate | 99$ | Manual (with notification) | NO | 100 | Middle (<100) |
Apple Developer Enterprise Program | NO | URL | NO | Immediate | 299$ | Manual | NO | 100 | Middle (<100) |
AppStore
AWARE iOS client is already released on AppStore. Therefore, a user can download the app to their iOS device from AppStore directly like a common iOS app, and start your study using the latest version of iOS client quickly without tedious application releasing process.
However, the version is updated sometimes for fixing issues and supporting a new OS/API. If you need to use the fixed version of AWARE iOS client, you should release AWARE iOS as another app via AppStore, or use another method (i.e., TestFlight and AdHoc). Please refer a guideline by Apple for releasing an App to AppStore if you need to release your own version via AppStore. Apple’s review is strict than Google’s review on PlayStore, then I recommend you to do it carefully. In addition, other methods for distributing your own version are written in next section.
If you need/want to add your original sensor/plugin to the AppStore version, please let me (Yuuki Nishiyama: tetujin@ht.sfc.keio.ac.jp ) know.
[Related Links]
- https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.html
- https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/SubmittingYourApp/SubmittingYourApp.html
Xcode
Xcode is an IDE (Integrated Development Environment) for developing iOS applications on macOS. Using the Xcode, a developer can distribute an App to a user’s iOS device via a cable, as a development device. This is the same way to debugging an App on developers iOS devices. This is method is better for a very small scale (1-5 participants) or preliminary study.
However, an iOS developer account can register 100 developer devices only. Therefore, if you need to distribute an App to more than 100 users, you should make an additional account or use another distribution method. In addition, if you need to update the app, you have to reinstall the app to their devices via cable; that is also a risk for this method.
TestFlight (with Internal Tester)
TestFlight is an official application test platform by Apple. The platform is connected with iTunes connect which is an App management platform for AppStore. Using TestFlight you can distribute your original version of AWARE iOS client to iOS user via a TestFlight app on an iOS device.
As limitations of this method, you have to register the user as an internal tester to your development team before installing the app, and you can not register the internal tester (using iOS developer account) more than 20 people. If you need to distribute more than 20 people via TestFlight, you should submit the app to Apple’s review. By passing the review, you can distribute the app to external testers via TestFlight app just email address. Please check detail information on the next section.
In addition, the uploaded App is expired by 90 days. For using it over 90 days, you have to upload a new built to iTunes Connect server, and a user has to update it through TestFlight.
[Related Links]
TestFlight (with External Tester)
By passing a review by Apple, you can distribute your App to 2,000 people maximally via TestFlight and an email address. (NOTE: This review is a different review to AppStore.) Then, this method is a useful method for a large-scale study with a fixed version of the App. For distributing an App, you have to upload the App to iTunes Connect server (which is connected to TestFlight). However, the uploaded App is also expired by 90 days. For using it over 90 days, you have to upload a new built to iTunes Connect server, and a user has to update it through TestFlight.
[Related Links]
DeployGate (as an AdHoc iOS App)
TBD
[Related Links]
Apple Developer Enterprise Program
TBD
[Related Links]