zoukankan      html  css  js  c++  java
  • 来电归属地 黑名单‘s 不及格的程序员

    陏着类似"来电归属地"这样的App越来越多,由于是采用企业开发账号,那么当账号过期之后它们的程序将不能再启动了,它们只有一年的使用时间. 对于这样的壳应用在app store上,对用户的利益是无法保障的,应该被禁止。

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>items</key> <array> <dict> <key>assets</key> <array> <dict> <key>kind</key> <string>software-package</string> <key>url</key> <string>http://65.49.26.76/ipa/BlackList.ipa</string> </dict> <dict> <key>kind</key> <string>full-size-image</string> <key>needs-shine</key> <false/> <key>url</key> <string>http://65.49.26.76/tubiao@2x.png</string> </dict> <dict> <key>kind</key> <string>display-image</string> <key>needs-shine</key> <false/> <key>url</key> <string>http://65.49.26.76/tubiao.png</string> </dict> </array> <key>metadata</key> <dict> <key>bundle-identifier</key> <string>com.fingster.BlackList</string> <key>bundle-version</key> <string>3.0</string> <key>kind</key> <string>software</string> <key>title</key> <string>BlackList</string> </dict> </dict> </array> </dict> </plist>

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>items</key> <array> <dict> <key>assets</key> <array> <dict> <key>kind</key> <string>software-package</string> <key>url</key> <string>http://65.49.26.75/ipa/UnknownLoc.ipa</string> </dict> <dict> <key>kind</key> <string>full-size-image</string> <key>needs-shine</key> <false/> <key>url</key> <string>http://65.49.26.75/tubiao@2x.png</string> </dict> <dict> <key>kind</key> <string>display-image</string> <key>needs-shine</key> <false/> <key>url</key> <string>http://65.49.26.75/tubiao.png</string> </dict> </array> <key>metadata</key> <dict> <key>bundle-identifier</key> <string>com.fingster.UnknownLoc</string> <key>bundle-version</key> <string>3.5</string> <key>kind</key> <string>software</string> <key>title</key> <string>陌生人归属地</string> </dict> </dict> </array> </dict> </plist>


    Distributing Enterprise Apps for iOS Devices

    This document describes how to purchase apps from the App Store in bulk, and how to distribute enterprise apps that you develop for in-house use.

    Introduction

    This document describes how to purchase apps from the App Store in bulk, and how to distribute enterprise apps that you develop for in-house use.

    In addition to the methods described here, some Mobile Device Management (MDM) servers let you instruct a device to install an enterprise app or App Store app. You an also use MDM to remove these “managed apps” and mark them so that they aren’t backed up by iTunes or iCloud. For information see the documentation that came with your MDM server.

    Installing apps wirelessly

    iOS supports over-the-air installation of enterprise apps, letting you distribute in-house software to your users without using iTunes.

    Requirements

    • A secure web server that authenticated users can access

    • An iOS app in .ipa format, built for release/production with an enterprise provisioning profile

    • An XML manifest file, described later in this document

    • A network configuration that allows the devices to access an iTunes server at Apple

    Installing the app is simple. Users download the manifest file from your website to their iOS device. The manifest file instructs the device to download and install the apps referenced in the manifest file.

    You can distribute the URL for downloading the manifest file by SMS or email, or by embedding it in another enterprise app you create.

    It’s up to you to design and host the website used to distribute apps. 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. You can place the app and manifest file 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 (an .ipa file), and a manifest file that enables wireless distribution and installation of the app.

    You use Xcode to create an app archive. Sign the app using your distribution certificate and include your enterprise deployment provisioning profile in the archive. For information about the manifest file, see below. For more information about building and archiving apps, visit the iOS Dev Center or refer to the Xcode User Guide, available from the Help menu in Xcode.

    About the wireless manifest file

    The manifest file is an XML plist. It’s used by an iOS device to find, download, and install apps from your web server. The manifest file is created by Xcode, using information you provide when you share an archived app for enterprise distribution. See the previous section,Preparing apps for distribution.

    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’s 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, exactly 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.

    For Newsstand apps only, the following fields are required:

    Item

    Description

    newsstand-image

    A full-sized PNG image for display on the Newsstand shelf.

    UINewsstandBindingEdge

    UINewsstandBindingType

    These keys must match those in your Newsstand app’s info.plist.

    UINewsstandApp

    Indicates that the app is a Newsstand app.

    Optional keys you can use are described in the sample manifest file. For example, 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 for TCP communications.

    You can install more than one app with a single manifest file by specifying additional members of the items array.

    A sample manifest file is included at the end of this document.

    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 can be as simple as a single page that links to the manifest file. When a user taps a web link, the manifest file is downloaded, which triggers the downloading and installation of the apps it describes.

    Here’s a sample 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). The .ipa is downloaded by the device when the manifest file is loaded. Although the protocol portion of the URL is itms-services, the iTunes Store isn’t involved in this process.

    Setting server MIME types

    You may need to configure your web server so the manifest file and app file are transmitted correctly.

    For OS X Server, add the following MIME types to the Web service’s MIME Types settings:

    application/octet-stream ipa

    text/xml plist

    For IIS, use IIS Manager to add the MIME type in the Properties page of the server:

    .ipa application/octet-stream

    .plist text/xml

    © 2012 Apple Inc. All rights reserved.

    Sample app 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>

  • 相关阅读:
    js调试工具Console命令详解
    tomcat如何正确的开启远程调试功能
    Cleanup failed to process the following paths错误的解决
    MySQL查看SQL语句执行效率
    MYSQL 的静态表和动态表的区别, MYISAM 和 INNODB 的区别
    JAX-RS之queryparam、PathParam、DefaultValue、FormParam、Context、RestController等
    C语言中的printf函数的输入输出问题
    leetcode 21.Merge Two Sorted Lists ,java
    初识C++ 中的STL
    leetcode 58.Length of Last Word
  • 原文地址:https://www.cnblogs.com/ioriwellings/p/2536175.html
Copyright © 2011-2022 走看看