1. 程式人生 > >iOS 企業賬號分發App 詳解

iOS 企業賬號分發App 詳解

最近發現 蒲公英https://www.pgyer.com/ 網站 只要把企業版的 ipa 檔案上傳就能下載 安裝App 感覺很奇怪,沒有配置 xml 格式的plist 就能 下載,終於搞清楚原因了。這裡先科普一下:企業版賬號如何分發App。


下面的步驟詳細講了如何使用企業版賬號分發。蒲公英網之所以能實現只上傳ipa 就能下載 是其自己生成了plist檔案,生成的辦法是

ipa包結構解析?

ipa包解壓後,是一個Payload資料夾,開啟Payload資料夾,再右鍵顯示包內容,包含2部分:_CodeSignature資料夾+程式的資源圖片,再開啟_CodeSignature資料夾,是一個CodeResources檔案,開啟觀察發現只是一些屬性值。
看起來ipa包解壓後主要是些資原始檔,那真正的二進位制程式碼在哪裡呢?或者誰能詳細剖析一下ipa的包結構以及對應的檔案? 下圖就是解析的ipa檔案的包內容

Distributing Apple Developer Enterprise Program Apps

The Apple Developer Enterprise Program allows you to develop proprietary, in-house iOS, and watchOS apps that you can distribute to your employees and outside the store.

If you are not a member of the Apple Developer Enterprise Program, go to  to join.

Note: Members of the Apple Developer Enterprise Program can also create Developer ID certificates to distribute Mac apps, described in .

Developing Apple Developer Enterprise Program Apps

The workflow for developing Apple Developer Enterprise Program apps is similar to the workflow used by any large organization that develops multiple apps for the store. During development, let Xcode manage your assets for you and use Member Center only as needed. Xcode will create your App ID and configure your project correctly to use the app services you enable.

Build Your Team (Team Agent)

If you are the team agent (the person who joins the Apple Developer Enterprise Program), build your team first by inviting team members and assigning roles. Assign the team admin role to people who help you manage your team. Assign the team member role to persons who develop your app but don’t have permission to distribute it. The team agent and team admins share the responsibility of exporting your app for distribution outside of the store. The tasks a team agent can perform are a superset of the tasks that a team admin can perform. Initially, the team agent is the only team member. To invite others, read .

Create Shared Team Provisioning Profiles (Team Admin)

If you are a team admin, perform these steps to enable your development team:

  1. Create a team provisioning profile and enable capabilities.

    Follow the same steps as an individual developer to create a team provisioning profile and enable capabilities, described in  and. Xcode automatically creates an appropriate App ID and provisioning profile for you. If you want to use APNs, read  for additional steps. For the capabilities available to an enterprise app, read .

  2. Optionally, register test devices.

    Xcode will automatically register a device connected to a Mac and selected from the Scheme toolbar menu by team members.

Important: Each team member should have his or her own Apple ID and development certificate. Don’t share signing identities between team members.

Team admins can also remove team members as needed. If you use contractors to develop your apps, invite them to join your team and assign them the team member role. When their contract ends, remove them from your team, described in .

Begin Development (Team Member)

If you are a team member, perform these steps to get started:

  1. In Xcode, add your Apple ID to the Accounts preferences, described in .

  2. To create your development certificate and register your device, follow the steps in .

    Select a team that is a member of the Apple Developer Enterprise Program from the Team pop-up menu. Xcode will regenerate and download team provisioning profiles as needed.

Testing Apple Developer Enterprise Program Apps

You use an ad hoc provisioning profile, described in , to export an Apple Developer Enterprise Program app from Xcode for beta testing. Only the team agent and team admins can create an ad hoc provisioning profile for distribution. After you export your app, consider using Xcode Server to distribute it to testers and other team members. See  for more information about using Xcode Server.

Important: As a member of the Apple Developer Enterprise Program, you don’t have an iTunes Connect account or the ability to distribute your app for beta testing using iTunes Connect.

Creating Additional Enterprise Distribution Certificates

As a member of the Apple Developer Enterprise Program, you are allowed to create multiple distribution certificates.

To create another distribution certificate

  1. Click the Add button (+) in the upper-right corner.

  2. Under Production, select “In-House and Ad Hoc” and click Continue.

    ../Art/14_request_distribution_certificate_2x.png
  3. Follow the instructions to create a certificate signing request (CSR) using Keychain Access, and click Continue.

  4. Click Choose File.

  5. Select a CSR file (with a .certSigningRequest extension), and click Choose.

  6. Click Generate.

  7. Click Download.

    The certificate file appears in your Downloads folder.

To install the certificate in your keychain, double-click the downloaded certificate file (with a .cer extension). The distribution certificate appears in the My Certificates category in Keychain Access.

Managing Expiring Certificates and Provisioning Profiles

You are responsible for managing your team’s certificates and provisioning profiles. Apple Developer Enterprise Program certificates expire after three years and provisioning profiles expire after one year.

Before a distribution certificate expires, create an additional distribution certificate, described in . You cannot renew an expired certificate. Instead, replace the expired certificate with the new certificate, described in .

If a distribution provisioning profile expires, verify that you have a valid distribution certificate and renew the provisioning profile, described in .

Xcode manages your development certificates and team provisioning profiles for you.

Exporting Your App In-House

To export your app for distribution to your employees and outside the store:

  1. Archive your app.

  2. Export the archive as an iOS App file (a file with a .ipa filename extension).

Note: If you don’t distribute your app using a Mobile Device Management (MDM) system, users can install your app using the iOS App file but then they will need to manually trust your organization to launch the app, described in .

Creating an Archive

Create an archive of your app regardless of the type of distribution method you select. Xcode archives allow you to build your app and store it, along with critical debugging information, in a bundle that’s managed by Xcode.

Important: Save the archive for every version of an app you distribute. You need the debugging information stored in the archive to decipher crash reports later.

To create an archive

  1. In the Xcode project editor, choose a generic device or your device name from the Scheme toolbar menu.

    You can’t create an archive of a simulator build. If a device is connected to your Mac, the device name appears in the Scheme toolbar menu. Otherwise, choose the generic device.

  2. Choose Product > Archive.

    The Archives organizer appears and displays the new archive.

Xcode runs preliminary validation tests on the archive and may display a validate warning in the project editor. For example, if you don’t set required app icons, as described in, an Info.plist warning message appears. If you see this warning, fix the issue and create the archive again.

Creating an iOS App File

You create an iOS App file so that users can install your app on their device. You generate an iOS App file (a file with a .ipa filename extension) from the archive. Xcode automatically creates the necessary distribution certificates and provisioning profiles for you when you export the app.

To create an iOS App file for distribution

  1. In the Archives organizer, select the archive.

  2. Click the Export button, select “Save for Enterprise Deployment,” and click Next.

    ../Art/14_save_for_enterprise_deployment_2x.png
  3. In the dialog that appears, choose a team from the pop-up menu, and click Choose.

    If necessary, Xcode creates a distribution certificate, provisioning profile, and explicit App ID for you.

  4. In the Device Support dialog, choose whether to export the universal app or variants for a specific devices, and click Next.

    • If you want to run the app on any supported device, select “Export one app for all compatible devices.”

    • If you want to test all device variances, select “Export for specific devices” and choose “All compatible device variants” from the pop-up menu.

    • If you want to test a specific device variant, select “Export a thinned app for a specific device” and choose the device family from the pop-up menu.

    ../Art/14_save_for_enterprise_deployment_2_2x.png
  5. In the dialog that appears, review the app, its entitlements, and provisioning profile.

    You can not distribute an enterprise app using a wildcard App ID. The name of the distribution provisioning profile begins with the text XC: followed by the App ID. If you are using a wildcard App ID, the name of the distribution provisioning profile is XC:*.

    The Finder shows the exported that has an .ipa extension.

  6. Review the build options, and click Next.

    If you use on-demand resources, check “Include manifest for over-the-air installation.” The manifest file is an XML plist used by a device to find, download, and install apps from your web server.

  7. If you request a manifest file, enter details about your web server in the “Distribution manifest information” dialog that appears.

    Enter the following information:

    • Name. The name of the app displayed during download and installation.

    • App URL. A fully qualified HTTPS URL for the iOS App file.

    • Display Image URL. A fully qualified HTTPS URL for an app icon that is displayed during download and installation. The image file must be 57 x 57 pixels and in PNG format.

    • Full Size Image URL. A fully qualified HTTPS URL for a larger image that is displayed in iTunes. The image file must be 512 x 512 pixels and in PNG format.

  8. Click Export

    The Finder shows the exported files.

Manually Trusting an Enterprise Developer

If you send the iOS App File to a user and they manually install it on their device, then they must also manually trust your organization before launching the app. Instruct the user to follow these steps to trust your organization.

Note: An Internet connection is required to trust an enterprise developer. If you're behind a firewall, make sure it's configured to allow connections to https://ppq.apple.com.

To trust an enterprise developer

  1. On the device, launch the app, and in the “Untrusted Enterprise Developer” dialog that appears, click Cancel.

    This step adds Device Management to Settings.

  2. Tap Settings > General > Device Management.

    Note: If profiles are installed on your device, the setting is called Profiles & Device Management.

    ../Art/14_enterprise_developer1.shot/Resources/shot_2x.png
  3. Under Enterprise App, tap the organization name.

  4. Tap Trust “[Organization Name]”.

    ../Art/14_enterprise_developer2.shot/Resources/shot_2x.png
  5. In the dialog that appears, tap Trust.

    Note: If you are not connected to the Internet, a “Not Verified” message appears. Connect the device to the Internet and tap the Verify App button.

To untrust an enterprise developer, go to Settings > General > Device Management > [Organization Name], and delete all the apps from the organization.

Learn More About Server Tools

Take advantage of Xcode server tools that support large software development teams.

To learn about

Read

Continuous integration

Use Xcode service running on OS X Server to automate building, analyzing, testing, and archiving your app.

Automated testing

Set up tests that can be run by Xcode service.

Mobile Device Management

Use MDM to deploy business and education apps.


相關推薦

iOS 企業賬號分發App

最近發現 蒲公英https://www.pgyer.com/ 網站 只要把企業版的 ipa 檔案上傳就能下載 安裝App 感覺很奇怪,沒有配置 xml 格式的plist 就能 下載,終於搞清楚原因了。這裡先科普一下:企業版賬號如何分發App。 下面的步驟詳細講了如何使用企

蘋果企業賬號發布APP——通過自己網站分發應用

.net 測試 ref 大小 isp content href 設備管理 mac 一、通過企業賬號申請證書 1 Certificate Signing Request (CSR)文件 在Mac系統中進入“鑰匙串訪問”,選擇“鑰匙串訪問”-“證書助理”-“從證書

iOS開發必收藏】iOS應用程式內使用IAP/StoreKit付費、沙盒(SandBox)測試、建立測試賬號流程!【2012-12-11日更新獲取"產品付費數量等於0的問題"】

//——2012-12-11日更新   獲取"產品付費數量等於0這個問題"的原因 看到很多童鞋問到,為什麼每次都返回數量等於0?? 其實有童鞋已經找到原因了,原因是你在 ItunesConnect 裡的 “Contracts,

工匠家平臺系統開發類似滴滴打車模式app

機制 生活方式 醫院 系統 喜歡 個人 醫療 精彩 8.14 工匠家平臺系統開發(蘇銘.188.1414.7927)工匠家模式開發,工匠家平臺開發,工匠家公眾號平臺搭建,工匠家app開發,工匠家系統,做類似工匠家這樣的系統,做類似滴滴打車這樣的系統,開發工匠家這樣的平臺,開

Android開發——事件分發機制---微信魚蝦蟹源碼搭建

lai reset 微信 影響 ren 事件分發機制 lis forum hlist 轉載請註明出處:http://h5.hxforum.com深入學習事件分發機制,是為了解決在Android開發中遇到的滑動沖突問題做準備。事件分發機制描述了用戶的手勢一系列事件是如何被An

iOS培訓就業前景分析

ios ui設計 流行 ext -o 設備 水平 shadow 基於 OS是目前最為流行、最熱門的操作系統之一,在全球有著不可替代的地位,雖然在中國,android的市場占有率與iOS想比較要高的多,但是iOS系統的蘋果手機在中國也屬於高端品牌。從品牌以及系統技術含量上來看

IOS和Android系統區別

清理 span back 一個 style 沙盒 安裝 最大值 完全 IOS系統(非開源,不可擴展) iphone沙盒機制解釋:應用程序位於文件系統的嚴格限制部分,程序不能直接訪問其他應用程序。 1、iOS的編程語言Objective-C 2、IOS采用的是沙盒運行

iOS自動布局——Masonry

上進 rep obj 軟件行業 eve super 元素 知識 common 歡迎大家前往騰訊雲+社區,獲取更多騰訊海量技術實踐幹貨哦~ 本文由鵝廠新鮮事兒發表於雲+社區專欄 作者:oceanlong | 騰訊 移動客戶端開發工程師 前言 UI布局是整個前端體系裏不可或

安卓自定義View進階-事件分發機制

Android 事件分發機制詳解,在上一篇文章 事件分發機制原理 中簡要分析了一下事件分發機制的原理,原理是十分簡單的,一句話就能總結:責任鏈模式,事件層層傳遞,直到被消費。 雖然原理簡單,但是隨著 Android 不斷的發展,實際運用場景也越來越複雜,所以想要徹底玩轉事件分發機制還

iOS開發多執行緒

在iOS開發中,多執行緒開發是非常重要的核心之一,這篇文章和大家分享一下多執行緒的進階-死鎖. iOS有三種多執行緒程式設計的技術,分別是:(一)NSThread(二)Cocoa NSOperation(三)GCD(全稱:Grand Central Dispatch) 如果你對多執行緒

iOS開發之AddressBookUI框架

iOS開發之AddressBookUI框架詳解 一、關於AddressBookUI框架     AddressbookUI是iOS開發框架中提供的一套通訊錄介面元件。其中封裝好了一套選擇聯絡人,檢視聯絡人的介面,在需要時開發者可以直接呼叫。當然對於聯絡人介面,

iOS開發之AddressBook框架

iOS開發之AddressBook框架詳解 一、寫在前面     首先,AddressBook框架是一個已經過時的框架,iOS9之後官方提供了Contacts框架來進行使用者通訊錄相關操作。儘管如此,AddressBook框架依然是一個非常優雅並且使用方便的通

iOS開發之Accounts框架

iOS開發之Accounts框架詳解     Accounts框架是iOS原生提供的一套賬戶管理框架,其支援Facebook,新浪微博,騰訊微博,Twitter和領英賬戶管理的功能。需要注意,在iOS 11及以上系統中,將此功能已經刪除,因此Accounts.frame

iOS手勢篇(十)-UITapGestureRecognizer

UITapGestureRecognizer是iOS開發(TVOS)開發中常用的一個輕觸手勢.和其他手勢不一樣的是.UITapGestureRecognizer手勢是唯一的一個離散的手勢.只有識別成功.識別結束.沒有值改變等狀態. 按照蘋果推薦的做法.我們應該在手勢結束的時候去做操作

iOS --轉載 NSRange 和 NSString

一、NSRange 1、NSRange的介紹 NSRange是Foundation框架中比較常用的結構體, 它的定義如下: typedef struct _NSRange { NSUInteger location; NSUInteger length

iOS SDK開發入門姿勢

1、建立workspace 兩張圖搞定的事情,就不寫了。 ① 開啟Xcode,左上角 File--> New --> Workspace. ② 建立一個資料夾,用來存放我們生成的檔案,成功之後如下。 2、建立SDK 也是,我們幾張圖來搞定 ① Xcode左上角 File -&

Android事件分發機制

概述   眾所周知,Android事件分發機制是Android知識體系中的重點也是難點。說白了,要學好Android,事件分發機制是無論如何也繞不過去的。   也許你會問,Android事件分發機制那麼重要,我怎麼沒用過呢?   當你被不同item的側滑刪除衝突

iOS手勢篇(七)-UIScreenEdgePanGestureRecognizer

UIScreenEdgePanGestureRecognizer,螢幕邊緣滑動手勢作為一個比較冷門的手勢.其實用到的地方也沒想象中的那麼少. UIScreenEdgePanGestureRecognizer是UIPanGestureRecognizer的子類.

iOS手勢篇(八)-UISwipeGestureRecognizer

UISwipeGestureRecognizer作為iOS中的側滑手勢其實是用的比較多的一個手勢.側滑手勢相較於Pan拖動手勢來說.一些特殊的方法啊,屬性啊,統統木有.開啟標頭檔案也只有簡潔的兩個屬性

iOS 證書與簽名 解惑

教程截圖:     下面是一篇有澳洲墨爾本的一名全職iOS開發者提供的文章。他在論壇上是一個很摩登的年輕人 – Adam Eberbach。   ·Bundle identifier   ·provisioning profiles   ·App ID