部落格園用戶端(Universal App)開發隨筆 – App也需要物流前的打包

來源:互聯網
上載者:User

標籤:

 

想起來一個笑話:唐僧一行千辛萬苦來到佛祖面前,準備取經,佛祖輕聲問了一句:汝等帶隨身碟了嗎?師徒4人立刻昏倒在地。好吧,扯遠了,不過是想告訴大家準備工作一定要到位。

Universal App 的打包發布其實與傳統的 Windows Phone / Windows Store App 項目並無太大不同,但是鑒於總有人會在這些步驟中遇到問題,而且即使是發布過幾個應用的開發人員也不例外,所以對這個看起來比較繁瑣的過程做一個小結還是必要的。

 打包前的準備工作

 

1. 修改編譯模式

在偵錯工具時,我們通常會選擇 debug 模式,但是發布時不要忘記切換到 Release 模式,否則程式打包後連驗證程式都不會執行,更不用說上傳到市集了。為了保證程式在所有裝置上都運行,我們選擇 Any CPU,這樣就可以保證我們的 UAP 運行在所有可以啟動並執行平台上(包括基於 ARM 架構的 Windows RT 平板和基於 x86 架構的平板,例如 Surface Pro)了。

 

 

2. 修改 Manifest 檔案

 

Manifest 檔案記錄了項目中的一些基礎中繼資料,包括項目名稱,申請的許可權,項目的 Logo 和發行者資訊等等,只有這些資訊都填寫完整並且準確,打包的檔案才能保證通過上傳時的自動驗證。

在項目中我們可以找到本項目的 appxmanifest 檔案。

 

我們還可以通過菜單中的選項找到修改 Manifest 檔案的入口。

 

 

下面我們來逐個標籤檢查 Manifest 檔案的內容是否完整。

 

在 Application 標籤頁中,我們需要填寫項目的基本資料,並確認是否需要修改對應的旋轉螢幕方向和在鎖屏時如何通知使用者。

 

與 Windows 項目不同的是, Windows Phone 項目還需要使用者填寫是否允許將 App 安裝到 SD 記憶卡的選項。

 

在 Visual Assets 標籤頁中,我們需要將所有用到的 Logo 圖片做好對應,一般來說,如果在 Assets 檔案夾中圖片的命名規範正確的話,這裡可以自動檢測並將圖片自動載入的。

 

需要注意的是,Badge Logo 的圖片要求比較嚴格,要求只能有白色和透明兩種顏色,哪怕有一個像素出現別的顏色,都會在自動驗證程式時檢測到並且不予通過,所以修改這幾個圖片的時候要務必小心,確認只包含白色和透明色。

 

在 Capabilities 頁面,我們需要填寫項目申請的許可權,例如本項目必須在網路下運行,所以必須申請 Internet 許可權。最關鍵的注意事項是,任何 Windows App,如果申請了網路許可權,就必須在 Setting 菜單中添加隱私權聲明 (Privacy Statement)的入口,否則會不能通過人工審核階段。關於如何添加隱私權聲明,請參考之前的部落格:部落格園用戶端(Universal App)開發隨筆 - Setting Page的實現方法與經驗

 

 

Windows Phone 的項目還需要額外填寫對於裝置感應器的申請,如果在 App 中應用到了陀螺儀,磁場感應器,NFC,前/後網路攝影機等資源,需要在這裡予以聲明。

 

 

在 Declarations 標籤頁中,我們要對 App 使用的其他資源進行聲明,例如部落格園項目使用到了背景工作,就需要在這裡聲明背景工作的入口。

 

如果 App 使用到了特殊的通知事件,可以在 Content URIs 頁面進行聲明,需要注意的是,Windows 8.1 僅支援 https 協議的安全頁面,不再支援 http 協議。

 

Packaging 頁面非常關鍵,這裡的任何一項填錯都會導致項目通不過上傳時的自動審核。不過好在如果我們在下面的步驟中選擇了將項目對應到商店中的 App,那麼這個頁面中的大部分項目都會自動填好。而如果我們選擇僅僅打包,委託別人幫忙發布,那麼這些資訊就一定要填寫完整。本頁面中需要填寫的資訊,可以在對應的開發人員賬戶頁面找到資訊。

另一個注意事項是最後的 Generate app bundle 選項。如果選擇了 always,那麼如果之前的 Visual Assets 中有對應的多種尺寸的圖片,那麼打包時就會產生一個對應多種尺寸裝置的整包(bundle)。這樣以後再更新項目,也必須上傳一個 bundle,否則就不能通過上傳審核。這也意味著,Assets 檔案夾裡的圖片只能增加,不能再減少。

 

 

當然以上的所有項目,我們都可以右鍵點擊 manifest 檔案,選擇 view code 進行修改或更新。貌似這也是一個更適合 geek 的方法。

 

開始打包

Manifest 檔案修改完之後,我們就可以開始正式的打包工作了。

這裡我們選擇 Create App Packages

 

在這裡,有兩種選擇,選擇Yes是直接登陸 Microsoft Dev 賬戶,將項目和商店中的 App 進行綁定,這樣 Manifest 檔案中關於開發人員的資訊會自動更新到 Microsoft Dev 賬戶的對應資訊。這種方式適用於自己發布自己項目的情況。

選擇No是不登陸賬戶,僅僅打包。這種情況適用於委託第三方幫忙發布項目的情況,或者是想先打個包出來給別人共用用作測試,測試完成後,你就可以直接用這個測試包提交應用了,這樣更符合一般的工作流程,避免你的測試包和最後提交商店的包不一致。

我們強烈建議選擇No,使用第二種方式。 在下一篇隨筆中會詳細說到如何提交應用。

我們先選擇第一種,登陸 Microsoft Dev 賬戶。

 

登陸以後,該開發人員之前提交過的項目就都顯示出來,我們也可以為新項目重新預留一個名字。

 

為項目選擇版本資訊,輸出位置,是否打包產生和 CPU 等資訊。

 

都填寫完之後,就可以打包項目了。打包完成後,會顯示項目位置,並會提醒開發人員為項目執行驗證程式(Windows App Certification Kit)。由於上傳後伺服器會首先執行這個程式對項目進行初次自動驗證,如果有不合規範的地方就不予通過,所以為了確保上傳的成功性,我們通常會在本機先執行一次驗證程式。

 

 

如果驗證程式在本機通過,那麼就可以向商店上傳應用了。由於篇幅所限,我們會在將來的文章中繼續介紹商店上傳的注意事項。

 

總結

本文按照流程介紹了 Universal App 在上傳商店前的打包步驟,並分析了 Windows 和 Windows Phone App打包時的細小區別和容易導致上傳失敗的注意事項。

 

我們的已經發布的應用和代碼可以在下面找到:

Windows Phone Store App link:

http://www.windowsphone.com/zh-cn/store/app/部落格園-uap/500f08f0-5be8-4723-aff9-a397beee52fc

 

Windows Store App link:

http://apps.microsoft.com/windows/zh-cn/app/c76b99a0-9abd-4a4e-86f0-b29bfcc51059

 

GitHub open source link:

https://github.com/MS-UAP/cnblogs-UAP

 

MSDN Sample Code:

https://code.msdn.microsoft.com/CNBlogs-Client-Universal-9c9692d1

部落格園用戶端(Universal App)開發隨筆 – App也需要物流前的打包

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.