在Windows下產生.p12及.mobileprovision

在 Windows 產生憑證簽名要求

對 Windows 開發人員而言,最簡單的方法是取得 Mac 電腦上的 iPhone 開發人員憑證。不過,他們也可以在 Windows 電腦上取得憑證。首先,使用 OpenSSL 建立憑證簽名要求 (CSR 檔):

  1. 在 Windows 電腦上安裝 OpenSSL (移至http://www.openssl.org/related/binaries.html,或直接在此下載openssl-0.9.8k_X64)。
    開啟 Windows 命令工作階段,然後使用 CD 命令切換至 OpenSSL bin 目錄 (例如 c:\OpenSSL\bin\)。在命令列輸入以下命令以建立專用密鑰:

    儲存此專用密鑰。您稍後將會用到它。使用 OpenSSL 時,請勿忽略錯誤訊息。OpenSSL 即使產生錯誤訊息,可能仍會輸出檔案。但這些檔案可能無法使用。如果發生錯誤,請檢查您的語法並重新執行命令。
  2. 在命令列輸入以下命令以建立 CSR 檔:

    以您自己的值取代電子郵件地址、CN (憑證名稱) 及 C (國家/地區) 值。

至APPLE申請.cer檔案

  1. https://developer.apple.com/membercenter/index.action以開發者身份登入。
  2. 選擇Certificates, Identifiers & Profiles,如下圖
    2014-01-07_153638
  3. 選擇Certificates
    2014-01-07_153659
  4. 接著按右上角的+
    2014-01-07_155542
  5. 身份選【iOS App Development】
    2014-01-07_155602
  6. 在最後會要求上傳.certSigningRequest,選擇剛剛在【在 Windows 產生憑證簽名要求】所產生的檔案,按確認。
    2014-01-07_155713
  7. 下載.cer檔
    2014-01-07_155843

將開發人員憑證轉換成 P12 檔案

  1. 將從 Apple 收到的開發人員憑證檔案轉換成 PEM 憑證檔案。從 OpenSSL bin 目錄執行以下命令列陳述式:
  2. 現在可以根據 iPhone 開發人員憑證的密鑰及 PEM 密鑰,產生有效的 P12 檔案:

產生.mobileprovision檔案

  1. 首先先產生一個APP的ID(已註冊過1~2項可跳過),選左側的”Identifier=>App IDs”,註冊一個APP的ID。
    2014-01-07_160759
  2. 填寫你要做的APP的前置字等識別,若是只想練習則選”Wildcard App ID”,然後Bundle ID填入”*”
    2014-01-07_161119
  3. 接著註冊你的測試機(已註冊過3~5項可跳過),再選左邊側欄的Devices=>All,新增開發機的UUID
    2014-01-07_162122
  4. 打開iTunes,連接iPhone,打開摘要頁,點紅框處的序號一下,會變成顯示UUID,把它記下來。
    2014-01-07_162323
  5. 回到網頁,把上面的UUID填入下面UUID那欄,並且為這隻手機取個名字
    2014-01-07_162508
  6. 現在要去產生.mobileprovision檔案。點選左邊側欄的”Provisioning Profiles”,接著按右上的+號新增一個Profiles
    2014-01-07_160633
  7. 身份選擇【iOS App Development】
    2014-01-07_160650
  8. App ID選擇剛剛所產生的ID
    2014-01-07_161714
  9. 選擇剛剛產生的certificates身份
    2014-01-07_161843
  10. 選擇要測試發佈的手機
    2014-01-07_163645
  11. 為這個發佈設定命名
    2014-01-07_163655
  12. 下載.mobileprovision檔案,完成。

在Flex裡設定發佈檔案

  1. 在專案點右鍵,選Properties,在此選擇要使用的檔案
    2014-01-07_164424

Flex的一些編譯參數

【編譯參數】
-default-background-color int
-default-frame-rate int
-default-size width height
設置SWF的背景色,幀頻與寬高,這個也可以通過元標籤設置,諸如
[SWF(width=”720″,height=”560″,backgroundColor=”#000000″)]

-default-script-limits
-max-recursion-depth
-max-execution-time
定義應用腳本程序的執行限制,最大代碼條目,最大遞歸層次,最大的執行時間

-debug=true|false
是否生成調試用SWF,調試用SWF會比一般的SWF要大。在Flex Builder中,默認為true,而在以Release方式時發佈時,默認為false,所以用Release發佈的文件會被debug時小很多。

-optimize=true|false
優化as,減少文件大小,增加性能,默認為true。

-strict=true|false
是否採用嚴謹模式

-use-network=true|false
可讀取網絡或者可讀取本地文件

-includes class […]
強制導入類,不管是否曾使用過這個類

-include-libraries library […]
強制導入SWC文件中的所有類,不管是否曾使用過這個類

-frames.frame. label class_name […]
將類綁定label標記的幀上

【後台相關】

-context-root string
-context-path string
設置{context.root}的值,這個數值被應用在flex-services.xml,flex-config.xml內,是flash Remoting的必要參數,以確認服務端目錄。也可通過設置Flex Server內的context root。

-services filename
指定services-config.xml的位置,用於Flash Remoting。也可以通過新建項目的選項卡設置。

【調試時信息】

-benchmark=true|false
是否輸出編譯時期的詳細信息,默認為true

-warnings=true|false
是否顯示警告信息

-show-unused-type-selector-warnings=true|false
是否顯示未使用CSS的警告信息

-show-binding-warnings=true|false
是否顯示綁定失效信息

【其他】

-keep-generated-actionscript=true|false
保留編譯MXML文件過程中的AS文件