- 浏览: 27430 次
- 性别:
- 来自: 上海
-
最新评论
.
Installing Apps Wirelessly
iOS 4 supports over-the-air installation of enterprise applications, allowing you to distribute in-house software to your users without having to use iTunes or iPhone Configuration Utility.
Requirements
•A secure web server accessible by authenticated users
•In-house iOS app in .ipa file format
•An XML manifest file, described in this document
•A network configuration that allows the device to access an iTunes server at Apple
Installing the app is simple. Users download the manifest file from your website to their iOS 4 device, which instructs the device to download and install the apps referenced in the manifest.
You can distribute the URL for downloading the manifest file via SMS, email, or by embedding it in another enterprise app you’ve created.
It's up to you to design and host the website used to distribute apps. You need to make sure that users are authenticated, perhaps using basic auth or directory-based authentication, and that the website is accessible via your intranet or the Internet. The app and manifest can be placed in a hidden directory, or in any other location that's readable using HTTP or HTTPS.
Preparing an Enterprise App for Wireless Distribution
To prepare your enterprise app for wireless distribution, you build an archived version in the form of a .ipa file, and a manifest file that enables wireless distribution and installation of the app.
In Xcode, you create an app archive using the “Build > Build and Archive” menu item. Then, in the Archived Applications source in Xcode's Organizer, select the app and click the “Share Application…” button. Then click the “Distribute for Enterprise…” button. You’ll be asked to provide information for the manifest file, which Xcode creates. See below, for information about the manifest file. For more information about building and provisioning apps, see the iOS Dev Center.
About the Wireless Manifest
The manifest is a file in XML plist format. It's used by an iOS 4 device to find, download, and install apps from your web server. The manifest is created by Xcode, using information you provide when you share an archived app for enterprise distribution. See “Preparing an Enterprise App for Wireless Distribution”
A sample manifest plist is included at the end of this document. The following fields are required:
Item
Description
URL
The fully qualified HTTP or HTTPS URL of the app (.ipa) file.
display-image
A 57 x 57 pixel PNG image that is displayed during download and installation. Specify the image's fully qualified URL.
full-size-image
A 512 x 512 pixel PNG image that represents the app in iTunes.
bundle-identifier
Your app's bundle identifier, as specified in your Xcode project.
bundle-version
Your app's bundle version, as specified in your Xcode project.
title
The name of the app, which is displayed during download and installation.
Optional Keys
There are optional keys that you can use, which are described in the sample manifest plist. You can use the MD5 keys if your app file is large and you want to ensure download integrity beyond the error checking normally done during TCP communications.
Constructing your Website
Upload these items to an area of your website that your authenticated users can access:
•The app (.ipa) file
•The manifest (.plist) file
Your website design is up to you. It can be as simple as a single page that links to the manifest file. When users tap the web link, the manifest file is downloaded, which triggers the download and installation of the apps it describes.
Here is an example link:
<a href="itms-services://?action=download-manifest&url=http://example.com/
manifest.plist">Install App</a>
Don't add a web link to the archived app (.ipa). It's downloaded by the device when the manifest file is loaded. Although the protocol portion of the URL is itms-services, the iTunes Store is not involved in this process.
Setting Server MIME Types
It may be necessary to configure your webserver so that manifest and app file are transmitted correctly.
For Mac OS X Server, add the following MIME types to the MIME Types settings using Server Admin:
application/octet-stream ipa
text/xml plist
For IIS, add the MIME type in the Properties page of the server using IIS Manager:
.ipa application/octet-stream
.plist text/xml
Troubleshooting Wireless App Distribution
Here are some things to keep in mind regarding enterprise apps:
•If wireless app distribution fails with an unable to download message, check the following:
◦Make sure the link to the manifest file is correct and that the manifest file is accessible to web users.
◦
◦Make sure that the URL to the .ipa (in the manifest file) is correct and that the .ipa is accessible to web users.
◦Make sure the app is signed correctly. Test it by installing it on a device using iPhone Configuration Utility.
◦
Network Configuration Requirements
If the devices are connected to a closed internal network, you should allow iOS devices to these sites.
URL
Reason
ax.init.itunes.apple.com
The device obtains the current file size limit for downloading apps over the cellular network. If this site it not reachable, installation may fail.
ocsp.apple.com
The device contacts this site to check the status of the distribution certificate used to sign the provisioning profile. See “Certificate Validation.”
Providing Updated Apps
Apps that you distribute yourself aren't automatically updated. When you have a new version for users to install, notify them of the update and instruct them to install the app. Consider having the app check for updates and notify the user when it opens. If you're using wireless app distribution, provide a link to the website or manifest file of the updated app. If you're using iTunes, provide them with a new app to install on their device. If you're using iPhone Configuration Utility, have them contact an IT administrator to install the new version. You will need to update all of your enterprise apps at least once a year, see “Certificate Validation.”
If you want users to retain data stored on their device, make sure the new version uses the same bundle-identifier as the one it's replacing and tell users not to delete their old version before installing the new one. The new version will replace the old one and retain data stored on the device, provided that the bundle-identifiers match.
Certificate Validation
The first time an application is opened on a device, the distribution certificate is validated by contacting Apple's OCSP server. Unless the certificate has been revoked, the app is allowed to run. Inability to contact or get a response from the OCSP server is not interpreted as a revocation. To verify the status, the device must be able to reach ocsp.apple.com. See “Network Configuration Requirements.”
The OCSP response is cached on the device for the period of time specified by the OCSP server; currently between 3 and 7 days. The validity of the certificate will not be checked again until the device has restarted and the cached response has expired. If a revocation is received at that time, the app will be prevented from running. Note that revoking a distribution certificate will invalidate all of the applications you have distributed.
An app will not run if the distribution certificate has expired. Currently, distribution certificates are valid for one year. A few weeks before your certificate expires request a new distribution certificate from the Dev Center, use it create create new distribution provisioning profiles, then recompile and distribute the updated apps to your users. See “Providing Updated Apps.”
Sample Manifest File
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- array of downloads. -->
<key>items</key>
<array>
<dict>
<!-- an array of assets to download -->
<key>assets</key>
<array>
<!-- software-package: the ipa to install. -->
<dict>
<!-- required. the asset kind. -->
<key>kind</key>
<string>software-package</string>
<!-- optional. md5 every n bytes. will restart a chunk if md5 fails. -->
<key>md5-size</key>
<integer>10485760</integer>
<!-- optional. array of md5 hashes for each "md5-size" sized chunk. -->
<key>md5s</key>
<array>
<string>41fa64bb7a7cae5a46bfb45821ac8bba</string>
<string>51fa64bb7a7cae5a46bfb45821ac8bba</string>
</array>
<!-- required. the URL of the file to download. -->
<key>url</key>
<string>http://www.example.com/apps/foo.ipa</string>
</dict>
<!-- display-image: the icon to display during download .-->
<dict>
<key>kind</key>
<string>display-image</string>
<!-- optional. indicates if icon needs shine effect applied. -->
<key>needs-shine</key>
<true/>
<key>url</key>
<string>http://www.example.com/image.57x57.png</string>
</dict>
<!-- full-size-image: the large 512x512 icon used by iTunes. -->
<dict>
<key>kind</key>
<string>full-size-image</string>
<!-- optional. one md5 hash for the entire file. -->
<key>md5</key>
<string>61fa64bb7a7cae5a46bfb45821ac8bba</string>
<key>needs-shine</key>
<true/>
<key>url</key><string>http://www.example.com/image.512x512.jpg</string>
</dict>
</array><key>metadata</key>
<dict>
<!-- required -->
<key>bundle-identifier</key>
<string>com.example.fooapp</string>
<!-- optional (software only) -->
<key>bundle-version</key>
<string>1.0</string>
<!-- required. the download kind. -->
<key>kind</key>
<string>software</string>
<!-- optional. displayed during download; typically company name -->
<key>subtitle</key>
<string>Apple</string>
<!-- required. the title to display during the download. -->
<key>title</key>
<string>Example Corporate App</string>
</dict>
</dict>
</array>
</dict>
</plist>
Installing Apps Wirelessly
iOS 4 supports over-the-air installation of enterprise applications, allowing you to distribute in-house software to your users without having to use iTunes or iPhone Configuration Utility.
Requirements
•A secure web server accessible by authenticated users
•In-house iOS app in .ipa file format
•An XML manifest file, described in this document
•A network configuration that allows the device to access an iTunes server at Apple
Installing the app is simple. Users download the manifest file from your website to their iOS 4 device, which instructs the device to download and install the apps referenced in the manifest.
You can distribute the URL for downloading the manifest file via SMS, email, or by embedding it in another enterprise app you’ve created.
It's up to you to design and host the website used to distribute apps. You need to make sure that users are authenticated, perhaps using basic auth or directory-based authentication, and that the website is accessible via your intranet or the Internet. The app and manifest can be placed in a hidden directory, or in any other location that's readable using HTTP or HTTPS.
Preparing an Enterprise App for Wireless Distribution
To prepare your enterprise app for wireless distribution, you build an archived version in the form of a .ipa file, and a manifest file that enables wireless distribution and installation of the app.
In Xcode, you create an app archive using the “Build > Build and Archive” menu item. Then, in the Archived Applications source in Xcode's Organizer, select the app and click the “Share Application…” button. Then click the “Distribute for Enterprise…” button. You’ll be asked to provide information for the manifest file, which Xcode creates. See below, for information about the manifest file. For more information about building and provisioning apps, see the iOS Dev Center.
About the Wireless Manifest
The manifest is a file in XML plist format. It's used by an iOS 4 device to find, download, and install apps from your web server. The manifest is created by Xcode, using information you provide when you share an archived app for enterprise distribution. See “Preparing an Enterprise App for Wireless Distribution”
A sample manifest plist is included at the end of this document. The following fields are required:
Item
Description
URL
The fully qualified HTTP or HTTPS URL of the app (.ipa) file.
display-image
A 57 x 57 pixel PNG image that is displayed during download and installation. Specify the image's fully qualified URL.
full-size-image
A 512 x 512 pixel PNG image that represents the app in iTunes.
bundle-identifier
Your app's bundle identifier, as specified in your Xcode project.
bundle-version
Your app's bundle version, as specified in your Xcode project.
title
The name of the app, which is displayed during download and installation.
Optional Keys
There are optional keys that you can use, which are described in the sample manifest plist. You can use the MD5 keys if your app file is large and you want to ensure download integrity beyond the error checking normally done during TCP communications.
Constructing your Website
Upload these items to an area of your website that your authenticated users can access:
•The app (.ipa) file
•The manifest (.plist) file
Your website design is up to you. It can be as simple as a single page that links to the manifest file. When users tap the web link, the manifest file is downloaded, which triggers the download and installation of the apps it describes.
Here is an example link:
<a href="itms-services://?action=download-manifest&url=http://example.com/
manifest.plist">Install App</a>
Don't add a web link to the archived app (.ipa). It's downloaded by the device when the manifest file is loaded. Although the protocol portion of the URL is itms-services, the iTunes Store is not involved in this process.
Setting Server MIME Types
It may be necessary to configure your webserver so that manifest and app file are transmitted correctly.
For Mac OS X Server, add the following MIME types to the MIME Types settings using Server Admin:
application/octet-stream ipa
text/xml plist
For IIS, add the MIME type in the Properties page of the server using IIS Manager:
.ipa application/octet-stream
.plist text/xml
Troubleshooting Wireless App Distribution
Here are some things to keep in mind regarding enterprise apps:
•If wireless app distribution fails with an unable to download message, check the following:
◦Make sure the link to the manifest file is correct and that the manifest file is accessible to web users.
◦
◦Make sure that the URL to the .ipa (in the manifest file) is correct and that the .ipa is accessible to web users.
◦Make sure the app is signed correctly. Test it by installing it on a device using iPhone Configuration Utility.
◦
Network Configuration Requirements
If the devices are connected to a closed internal network, you should allow iOS devices to these sites.
URL
Reason
ax.init.itunes.apple.com
The device obtains the current file size limit for downloading apps over the cellular network. If this site it not reachable, installation may fail.
ocsp.apple.com
The device contacts this site to check the status of the distribution certificate used to sign the provisioning profile. See “Certificate Validation.”
Providing Updated Apps
Apps that you distribute yourself aren't automatically updated. When you have a new version for users to install, notify them of the update and instruct them to install the app. Consider having the app check for updates and notify the user when it opens. If you're using wireless app distribution, provide a link to the website or manifest file of the updated app. If you're using iTunes, provide them with a new app to install on their device. If you're using iPhone Configuration Utility, have them contact an IT administrator to install the new version. You will need to update all of your enterprise apps at least once a year, see “Certificate Validation.”
If you want users to retain data stored on their device, make sure the new version uses the same bundle-identifier as the one it's replacing and tell users not to delete their old version before installing the new one. The new version will replace the old one and retain data stored on the device, provided that the bundle-identifiers match.
Certificate Validation
The first time an application is opened on a device, the distribution certificate is validated by contacting Apple's OCSP server. Unless the certificate has been revoked, the app is allowed to run. Inability to contact or get a response from the OCSP server is not interpreted as a revocation. To verify the status, the device must be able to reach ocsp.apple.com. See “Network Configuration Requirements.”
The OCSP response is cached on the device for the period of time specified by the OCSP server; currently between 3 and 7 days. The validity of the certificate will not be checked again until the device has restarted and the cached response has expired. If a revocation is received at that time, the app will be prevented from running. Note that revoking a distribution certificate will invalidate all of the applications you have distributed.
An app will not run if the distribution certificate has expired. Currently, distribution certificates are valid for one year. A few weeks before your certificate expires request a new distribution certificate from the Dev Center, use it create create new distribution provisioning profiles, then recompile and distribute the updated apps to your users. See “Providing Updated Apps.”
Sample Manifest File
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- array of downloads. -->
<key>items</key>
<array>
<dict>
<!-- an array of assets to download -->
<key>assets</key>
<array>
<!-- software-package: the ipa to install. -->
<dict>
<!-- required. the asset kind. -->
<key>kind</key>
<string>software-package</string>
<!-- optional. md5 every n bytes. will restart a chunk if md5 fails. -->
<key>md5-size</key>
<integer>10485760</integer>
<!-- optional. array of md5 hashes for each "md5-size" sized chunk. -->
<key>md5s</key>
<array>
<string>41fa64bb7a7cae5a46bfb45821ac8bba</string>
<string>51fa64bb7a7cae5a46bfb45821ac8bba</string>
</array>
<!-- required. the URL of the file to download. -->
<key>url</key>
<string>http://www.example.com/apps/foo.ipa</string>
</dict>
<!-- display-image: the icon to display during download .-->
<dict>
<key>kind</key>
<string>display-image</string>
<!-- optional. indicates if icon needs shine effect applied. -->
<key>needs-shine</key>
<true/>
<key>url</key>
<string>http://www.example.com/image.57x57.png</string>
</dict>
<!-- full-size-image: the large 512x512 icon used by iTunes. -->
<dict>
<key>kind</key>
<string>full-size-image</string>
<!-- optional. one md5 hash for the entire file. -->
<key>md5</key>
<string>61fa64bb7a7cae5a46bfb45821ac8bba</string>
<key>needs-shine</key>
<true/>
<key>url</key><string>http://www.example.com/image.512x512.jpg</string>
</dict>
</array><key>metadata</key>
<dict>
<!-- required -->
<key>bundle-identifier</key>
<string>com.example.fooapp</string>
<!-- optional (software only) -->
<key>bundle-version</key>
<string>1.0</string>
<!-- required. the download kind. -->
<key>kind</key>
<string>software</string>
<!-- optional. displayed during download; typically company name -->
<key>subtitle</key>
<string>Apple</string>
<!-- required. the title to display during the download. -->
<key>title</key>
<string>Example Corporate App</string>
</dict>
</dict>
</array>
</dict>
</plist>
发表评论
-
xcode模拟器运行僵死在 attaching to 的解决法子
2013-07-19 15:45 1118修改Scheme为GDB可以运行时。 检查你的网络127.0 ... -
BeeFramework 系列三 MVC篇上
2013-06-08 11:59 4266这两天死了不少人,南北呼应。厦门的兄弟们别挤brt了 ... -
BeeFramework 系列二 UISignal篇下
2013-06-04 12:42 2355上篇,我们讲了UISignal的工作原理,以及Be ... -
BeeFramework 系列二 UISignal篇上
2013-06-03 16:28 3204BeeFramework中用的最多的就是UISignal了,这 ... -
BeeFramework 系列一 安装篇(Arc)
2013-06-03 10:00 3793Beeframework 是一款iOS快速开发框架,它以UIS ...
相关推荐
以上就是关于“iPhone手机应用程序开发资料”的关键知识点,包括Flash CS5如何助力开发者在iPhone平台上构建应用,以及开发者需要注意的苹果App Store的规则和设备兼容性问题。这些信息对于想要使用Flash技术开发iOS...
3. **iOS 小程序**:小程序通常指的是轻量级的应用程序,它们不需要用户下载安装即可使用,节省了用户的存储空间。iOS的小程序称为“快应用”或者“Safari Web App”,它们可以通过Safari浏览器运行,也可以添加到主...
Android Market的推出,使得用户可以直接在手机上下载和安装应用程序,极大地推动了Android应用的普及和发展。随着Android的不断进化,它的影响力已经远远超出了最初的移动电话市场,成为了一个多平台、多用途的操作...
G1 问世几个月之后,随后就发布了 Android Market,它使用户可以浏览应用程序,并且可以将应用程序直接下载到他们的手机上。经过大约 18 个月,一个新的移动平台进入公众领域。 ---------------------------------...
使用IIS可以直接部署网奇模板,使得网站发布更加简便。 三、网奇模板的特性与优势 1. 多样化设计:网奇模板包含多种风格和主题,适应不同的业务需求,无论是企业官网、电商网站还是个人博客,都能找到合适的模板。 ...
Web应用程序可以在iPhone的Safari浏览器中运行,而通过SDK,开发者可以直接利用iOS操作系统提供的API,创建原生应用,实现更深度的硬件和系统功能集成。 1.4 用户界面与多点触控 iPhone的多点触控屏幕是其独特卖点...
国外一些Chrome资源站已经提供支持XChrome的Chrome主题安装文件,对于这些文件,如果你已经安装了XChrome,那么直接运行即可完成主题皮肤安装。 [编辑本段]扩展程序 谷歌浏览器扩展程序可让您十分方便地在浏览器...
这个项目的核心目标是实现不同货币间的便捷转换,如美元、人民币、日元等,用户只需在设备上使用浏览器即可直接运行,无需安装额外的应用程序。 1. **HTML5**:HTML5是超文本标记语言的最新版本,它增强了网页的...
这可能包含了源码、文档、示例、测试等不同部分,供开发者下载后进行定制化开发或直接使用。 这个UI工具包的核心特性可能包括以下几点: 1. **跨浏览器兼容性**:JSUI很可能经过精心优化,以确保在各种主流浏览器...
- **下载与安装**:从官方渠道获取最新的JS版百度编辑器压缩包,解压后得到所需的JavaScript文件和CSS样式文件。 - **引入资源**:在HTML文件中通过`<script>`和`<link>`标签引入编辑器的JavaScript和CSS文件。 -...
此外,这些控件通常支持多种浏览器,包括Chrome、Firefox、Safari和IE等,同时兼容各种设备,如桌面、平板和手机。 Telerik UI for ASP.NET MVC 的商业版本提供了额外的功能和支持,例如高级皮肤、更详尽的文档、...
6. **FTP上传**:为了将网页发布到服务器,工具通常会内置FTP客户端,让用户可以直接从软件中上传文件到Web服务器。 7. **版本控制**:高级工具可能支持版本控制,让用户可以保存和回滚不同的设计版本,便于管理多...
iPhone支持安装各种应用程序,包括预装的应用和从App Store下载的应用。 **自定主屏幕** 用户可以根据自己的喜好定制主屏幕布局,例如调整应用程序图标的位置。 **键入** iPhone提供了虚拟键盘,支持触控输入...
除了自带应用程序如Safari浏览器、邮件、地图等,iOS还支持通过App Store下载数百万第三方应用,覆盖了游戏、生产力工具、社交等多个领域。此外,iOS还支持Web应用程序,尽管其不支持Java、Flash和SVG等部分技术,但...
- 用户获取难度大:不能通过App Store直接下载,用户安装过程相对复杂。 总结,iOS Webapp套壳技术是一种结合了Web技术和移动应用特性的解决方案,适用于快速搭建、内部使用或作为原生应用的辅助。开发者应根据项目...
标题中的"os.x.mavericks.10.9.dp1.dmg.rar"揭示了这是一个与苹果操作系统相关的文件,更具体地说,...这个RAR文件解压后是一个DMG镜像,可通过BitTorrent下载,包含了一系列的新特性和改进,旨在提升用户体验和效率。
- 安装程序:可能包含一个安装程序,用于便捷地将ComponentArt控件集成到开发环境中。 总的来说,ComponentArt控件是一个强大且全面的工具集,为.NET开发者提供了构建现代、互动和高性能Web应用的利器。无论是在...
此外,所有示例代码均可从指定网站下载,便于读者实践。 #### 五、结语 HTML5为Web开发带来了革命性的变化,极大地提升了用户体验,并简化了开发过程。通过学习本书,读者不仅能够掌握HTML5的基础知识,还能深入...
iPhone 4作为其中的一个重要里程碑产品,虽然已经发布多年,但至今仍有许多用户在使用。为了满足这些用户提升操作便捷性的需求,本文将介绍如何在iPhone 4上实现将常用设置快捷方式放置到桌面的方法,从而优化日常...