How does TestFlight do it?(分发测试版本可以用到的一些工具和代码)
2013-06-30 11:24
549 查看
TestFlight offers over-the-air beta distribution of iOS apps (on non-jailbroken devices). How can this be done? Is this an iOS feature, or a vulnerability exploit? iphone ios distribution ios-provisioning beta-testing
|
6 Answers
activeoldestvotesup vote67down voteaccepted | This was possible before TestFlight rolled out a service. The technique stemmed out of the enterprise distribution mechanism. Since 4.0 devices have supported install from web. Remember - you still need to sign the beta distribution for a select set of UDIDs you can't just willy nilly install it on any device. All they are doing is taking the email the IPA step out of things. See: http://www.alexcurylo.com/blog/2010/08/27/wireless-ad-hoc-distribution/ Update: I want to say that Test Flight is one of the most helpful tools I've used when developing though. Just taking the IPA emailing out of the picture was an understatement- I was just trying to call out the technical mechanism. They do a fantastic job managing the whole beta process. Getting new devices enrolled. Notifying users etc.
| ||||||||||||||||||||
comments |
up vote65down vote | This article showed how Apples OTA implementation works and can be used outside enterprises as well:ios wireless app distribution The complete process is documented by Apple. Apple also published documentation and sample code for registering devices and get the UDID by using profiles, so your website can detect which device is calling. Some additional solutions with different strenghts: iOS Beta Builder, a Mac Application to create the website by using a build. Simply upload the resulting files to your webserver. Diawi: Simple Web service. Upload your IPA file, optionally set a password and send a link to your testers. AppSendr: Web service for beta build hosting, similar to Testflight, but does not include the device registration process. But provides deployment utilities to automatically upload new versions. HockeyKit: Open source project for hosting beta versions on your own PHP5 server with additional functionalities like an client for In-App-Updates, automatic device specific web sites and handling multiple applications. Completely file and directory based. HockeyApp: Web Service for beta build hosting, In-App-Updates, Statistics, and including device registration, invite and recruitment. Also provides server side crash report collection, symbolication (for all threads) and crash grouping for beta and app store apps (iOS + Mac). SDKs are open source, using HockeyKit, QuincyKit and PLCrashReporter (which is the only safe solution on how to do crash report collection on iOS, see this article. Note: I am the main developer of HockeyKit and QuincyKit, and one of the developers of HockeyApp.
| |||
up vote3down vote | An alternative is Hockey, which is a web app you run on a server of your own, and a framework you embed in the app. Somehow the app knows when there's an update to be downloaded, and triggers its own update. I use Test Flight, myself, but this is another utilization of the same feature.
| ||
|
up vote3down vote | Yes this is a core feature of iOS for Enterprise Customers who wish to distribute OTA. Presumably you would pass your UDID over to TestFlight along with the app and they use their Enterprise Licence to send the app to you. I'm sure I'm missing a lot of the technical details but if you want to know more, Apple has a video on this from WWDC 2010. Login to developer.apple.com, go to WWDC 2010 Videos and use the link to get to the vidoes. The video you want is "Session 108 - Managing Mobile Devices". It is very informative about what is possible with OTA and the steps you have to take to do OTA provisioning.
| ||
up vote2down vote | Testflight basically uses the normal Ad Hoc as already stated. For this to work, you need the UDIDfor every device in order to add it to the Ad Hoc profile, re-compile the app with the new profile an redistribute the new build. You can get the UDIDwith the help of the OTA Authentication Request. This is actually a step that is done in MDM before the actual profile is rolled out to the device. It basically asks the device for further information about itself and send it back to a self specified server. The first step is documented here: Apple OTA Configuration I guess Testflight uses this right after the registration process to collect the UDID, phone name, ...
| ||
up vote0down vote | Stock iOS devices are "vulnerable" to running the user loading Ad Hoc apps from any developer who has that device's UDID, and registers that UDID among their 100 allowed devices on Apple's developer portal. OTA distribution is just another way to install an Ad Hoc beta test distribution from an enrolled developer.
| |||
|
相关文章推荐
- 一个简单的动态编译器,支持C#和VB.NET。当你想测试一些简单的代码的时候可以使用。
- 自动化测试工具QTP的一些简单代码
- wap获取手机号码,今天uc开启云加速,用公司的工具类获取是null,但是另外一个项目可以,应该这个项目的工具旧少了一些代码。。,网上找了 方法自己加可以
- 关于测试方面一些版本控制及管理工具的安装及使用
- 项目管理大法归档 - 思维导图、原型工具、接口测试、设计模式、版本管理、单元测试、持续集成、代码审查、Bug 跟踪
- 收藏一些测试工具以后能用到——网站各项性能测试的工具
- RFT(Rational Functional Test)是IBM开发的一套自动化测试工具,可以测试web, GUI和console。
- 数据库测试数据的准备问题,可以用工具生成,主要有DataFactory和TestDataBuilder.
- ios测试工具testflight
- #ifdef电脑程序语句,我们可以用它区隔一些与特定头文件、程序库和其他文件版本有关的代码。
- 【书籍简评】《Python计算机视觉编程》还算可以的入门书,简单介绍了CV中的常用方法,但由于代码版本过老,有一些用3.6跑不通。
- C# 利用VS2010结核TestDriven.Net工具进行代码测试
- Android性能测试 一些适用于Android Studio的代码审查和性能测试工具
- 中国版TestFlight?Testin推免费手游内测分发工具Pre.im
- Linux有时候执行了 rm -rf 等操作误删了文件绝对是一件可怕的事情,好在有一些解决的办法可以临时救急。这时我们就要用到一款叫做extundelete的工具了。
- Do people forget a foreign language they don't use regularly? How fast does it happen?
- UML工具推荐 Poseidon版本 可以免费下载,自动生成代码 C++ Java C# VB.NET等 (来自德国汉堡的国际性建模软件开发商Gentleware AG的)
- 测试中需要用到的一些小工具
- What 's CATT(Computer Aided Test Tool)?How to deal with the CATT in the SAP System?什么是CATT(计算机附加测试工具)
- VS2008或以上版本的ActiveX控件的测试工具(ActiveX Control Test Container)编译记录