蘋果的企業開發證書,可以不經app store,直接發布到自己的網站上。其他人可以直接下載安裝。但前提要用蘋果自帶的瀏覽器(safari)才能下載,其他瀏覽器不能識別該協議。
一、制作證書
打開Keychain Access工具,把Keychain的配置改為如下圖:

并從菜單中選擇Keycahin Access->Certificate Assistant->Request a Certificate From a Certificate Authority...如下圖所示:

填寫必要的信息,生成證書保存在桌面或其他地方,等會要用到:


二、生成并安裝證書
用企業版的apple id登陸蘋果開發者中心: https://developer.apple.com, 登陸后選擇對應的選項,上傳之前生成的證書文件,如下圖:

生成證書文件后,下載下來,雙擊打開即安裝。
三、增加APP ID
四、生成Profiles文件
在開發中心點擊Provisioning Profiles中的Distribution, 點擊“+”,增加Profiles。APP ID選擇剛才增加的。如圖

添加好之后,就可以下載下來,把它拖到Xcode中。或是拖到Organizer中。如圖:

五、發布應用
在XCode的Targets中選擇簽名:

在XCode的菜單Product->Archive中選擇打包。打包時要把iPad或是iphone接到電腦上,并選擇目標是iPad或是iphone才能成功。



Required的信息填寫即可,save,則會同時生成ipa和plist 文件,如下![iOS開發--in <wbr />house <wbr>企業發布]()

apple文檔地址:http://developer.apple.com/library/ios/#featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html
以無線方式安裝應用程序
iOS 支持以無線方式安裝企業級應用程序,這可讓您在不使用 iTunes 的情況下將內部軟件分發給用戶。
要求
安裝應用程序很簡單。用戶可以將清單文件從您的網站上下載到他們的 iOS 設備上。該清單文件會指示設備下載和安裝該清單文件中所引用的應用程序。
您可以分發 URL 以便通過短信或電子郵件來下載清單文件,也可以將它嵌入您所創建的其他企業級應用程序中。
由您設計和主管用于分發應用程序的網站。確定用戶已被鑒定(可能是使用基本鑒定或基于目錄的鑒定),并確定網站可通過內聯網或互聯網進行訪問。您可以將應用程序和清單文件放入隱藏的目錄中,或任何可使用 HTTP 或 HTTPS 來讀取的其他位置中。
準備企業級應用程序進行無線分發
若要準備企業級應用程序進行無線分發,您應該構建歸檔的版本(.ipa 文件),以及構建清單文件以啟用應用程序的無線分發和安裝。
使用 Xcode 來創建應用程序歸檔。使用您的分發證書給應用程序簽名并在歸檔中包括您的企業級開發預置描述文件。有關清單文件的信息,請參閱以下內容。有關構建和歸檔應用程序的更多信息,請訪問 iOS Dev Center(iOS 開發中心)或參閱《Xcode User Guide》(Xcode 使用手冊),可通過 Xcode 中的“Help”(幫助)菜單來訪問該使用手冊。
關于無線清單文件
清單文件是 XML plist 格式的。iOS 設備使用它在 Web 服務器上查找應用程序,以及從 Web 服務器上下載和安裝應用程序。清單文件是由 Xcode 創建的,使用您在共享歸檔的應用程序以進行企業級分發時所提供的信息。請參閱上一節準備應用程序進行分發。
以下欄是必填的:
項目 | 描述 |
---|
URL | 應用程序 (.ipa) 文件的完整合格的 HTTP 或 HTTPS URL。 |
display-image | 下載和安裝過程中顯示的 57 x 57 像素 PNG 圖像。指定圖像的完整合格的 URL。 |
full-size-image | 用來在 iTunes 中表示應用程序的 512 x 512 像素 PNG 圖像。 |
bundle-identifier | 您應用程序的包標識符,與 Xcode 項目中指定的完全一樣。 |
bundle-version | 您應用程序的包版本,在 Xcode 項目中指定。 |
title | 下載和安裝過程中顯示的應用程序的名稱。 |
僅對于“報刊雜志”應用程序,需要填寫以下欄位:
項目 | 描述 |
---|
newsstand-image | 完整大小的 PNG 圖像,用于顯示在“報刊雜志”書架上。 |
UINewsstandBindingEdge UINewsstandBindingType | 這些鍵必須與“報刊雜志”應用程序中的 info.plist 中的鍵相符。 |
UINewsstandApp | 指示該應用程序是“報刊雜志”應用程序。 |
您可以使用的一些可選鍵如示例清單文件所述。例如,如果應用程序文件太大并且您想要在執行錯誤檢驗(TCP 通信通常會執行該操作)的基礎上確保下載的完整性,則可以使用 MD5 鍵。
您可以使用單個清單文件安裝多個應用程序,方法是指定 items 數組的附加成員。
本文稿末尾列出了示例清單文件。
構建網站
將這些項目上傳到您網站上已鑒定的用戶可以訪問的區域:
應用程序 (.ipa) 文件
清單 (.plist) 文件
您的網站設計可以像用來鏈接到清單文件的單個頁面那么簡單。當用戶輕按 Web 鏈接時,清單文件會被下載,并觸發它所描述的應用程序的下載和安裝。
以下是一個示例鏈接:
<a href="itms-services://?action=download-manifest&url=http://example.com/
manifest.plist">Install App</a>
請勿添加歸檔的應用程序 (.ipa) 的 Web 鏈接。載入清單文件時,設備會下載該 .ipa。雖然 URL 的協議部分是 itms-services,但 iTunes Store 并不參與此過程。
設定服務器 MIME 類型
您可能需要配置您的 Web 服務器以便正確地傳輸清單文件和應用程序文件。
對于 OS X Server,將以下 MIME 類型添加到 Web 服務的“MIME Types”(MIME 類型)設置中:
application/octet-stream ipa
text/xml plist
對于 IIS,使用 IIS Manager 在服務器的“屬性”頁面中添加 MIME 類型:
.ipa application/octet-stream
.plist text/xml
openssl使用的是macos系統自帶的版本,關鍵點是不同直接使用ios設備打開https的鏈接,需要將證書發到系統的mail里,安裝到設備,
如果命令執行不成功,用sudo執行。
1.生成服務器的私鑰
openssl genrsa -out server.key 1024
2.生成簽署申請(注意除Common Name以外可以為空,Common Name必須為服務器的ip或域名)
openssl req -new -key server.key -out server.csr
3.生成CA私鑰
openssl genrsa -out ca.key 1024
4.利用CA的私鑰產生CA的自簽署證書
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
5.在當前目錄創建demoCA,里面創建文件index.txt和serial,serial內容為01,index.txt為空,以及文件夾newcerts
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key
將ca.crt文件通過郵件發送到ios設備的Mail上,進行證書的安裝
nginx https配置:
server {
listen 443;
server_name ios.xxx.com;
error_log /dev/null;
ssl on;
ssl_certificate server.crt;
ssl_certificate_key server.key;
ssl_session_timeout 5m;
#ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
root /workspace/ios;
#add_header Content-Disposition: 'attachment;';
}