Win10 UWP系列:更新UWP時註意的問題——TargetDeviceFamily

来源:http://www.cnblogs.com/yanxiaodi/archive/2016/01/09/5115404.html
-Advertisement-
Play Games

前幾天把CurrencyExchanger提交到微軟參加Master認證,結果沒有通過,反饋了一些錯誤,看來微軟檢查還是比較仔細的。錯誤主要有:Visual feedback helps users recognize whether their interactions with your app...


前幾天把CurrencyExchanger提交到微軟參加Master認證,結果沒有通過,反饋了一些錯誤,看來微軟檢查還是比較仔細的。

錯誤主要有:

Visual feedback helps users recognize whether their interactions with your application are detected, interpreted, and handled as they intended.

就是說如果一個列表項點擊後沒有任何動作的話,不應該有觸摸反饋。UWP的ListView項預設會帶Tilt效果,以前WP8的時候還要通過另外的Toolkit來實現,現在自帶了,反而要想辦法去掉。解決辦法是自定義ListView的ItemContainerStyle,去掉裡面的VisualStateGroup就可以了。

 

再一個錯誤:

Windows 10 applications should properly navigate back through pages when using the Windows 10 system back button.

在開發的時候主要針對PC和手機來進行了測試,手機有硬體返回鍵,所以處理了返回鍵的事件,PC沒有返回鍵,就沒做,但PC有一個平板模式,是可以顯示返回鍵的,這個地方也需要處理。解決辦法是增加處理SystemNavigationManager.GetForCurrentView().BackRequested事件即可。

 

再一個錯誤是功能性的,搜索貨幣時無法正常搜索,經檢查代碼是搜索內容忘了進行大小寫轉換,可以搜索小寫字母,大寫字母就搜不到了,屬於粗心錯誤。統一ToUpper或者ToLower就可以了。

還有一個錯誤是這樣的:

The following recommendation is optional and not required for STARTS compliance. With Windows 10 developers can write a single application that can be installed across a variety of device families including Mobile, Desktop, and XBOX. By default, Windows 10 applications target all device families. In the application manifest, this is called out as the ‘Universal’ Target Device Family. Such applications will be tested against all device form factors where this application may be deployed. Alternatively, developers can limit the device families for which an application can be deployed. For example, if ‘Desktop’ is specified and the Target Device Family, that application can only be installed on PC devices. When published, this application will only be available in the Store running on PCs – it will not be available in the Phone store.

 

The manifest file has Universal as TargetDeviceFamily. The application currently targets only desktop and mobile. It is recommended that the manifest entry is restricted only to supported devices and that a minimum of two device families are supported.

意思是說既然只支持PC和Mobile,就不要把TargetDeviceFamily設置為Universal。我就想當然的在Package.appsmanifest文件里修改了TargetDeviceFamily,設置為只有Desktop和Mobile。

 

還有一個錯誤:

The application should adapt properly to portrait or landscape view if supported.

這個是因為在635等解析度低的機型上運行時,部分字體被截斷了。而且在橫屏的時候計算器界面也沒顯示完全。所以發佈時應儘可能測試不同解析度機型保持界面可用性。我調整了國旗圖標大小,並且只支持豎屏狀態,去掉了橫屏支持。

 

然後順手修複了幾個小bug,開始上傳商店。上傳後在分析包的過程中出現以下錯誤:

XD.UWP.CurrencyExchanger_3.1.3.0_x86_x64_arm_bundle.appxupload28.0 MB

此程式包面向最低版本 10.0.0.0,但其依賴於面向最低版本 10.0.10042.0 的框架 Microsoft.VCLibs.140.00 14.0.22929.0。更新程式包中的最小值以指定 10.0.10042.0 的值或更大的值。 此程式包面向最低版本 10.0.0.0,但其依賴於面向最低版本 10.0.10049.0 的框架 Microsoft.NET.Native.Framework.1.2 1.2.23231.0。更新程式包中的最小值以指定 10.0.10049.0 的值或更大的值。 此程式包面向最低版本 10.0.0.0,但其依賴於面向最低版本 10.0.10049.0 的框架 Microsoft.NET.Native.Runtime.1.1 1.1.23406.0。更新程式包中的最小值以指定 10.0.10049.0 的值或更大的值。   該項目是以10586版本開發的, Package.appxmanifest文件中有以下版本號:
<Dependencies>
    <TargetDeviceFamily Name="Windows.Mobile" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
  </Dependencies>

於是想當然的把MinVersion改為了10.0.10586.0,但是編譯時又報錯,說MaxVersionTested不能小於Minversion,於是又把MaxVersionTested也改為10586,還是不行。

這就奇怪了,上次上傳的時候也沒改這個地方啊。看到有說VC++引用版本錯誤,又重新升級了一下Sqlite組件,結果還是不行。

UWP的打包速度很慢,反覆了好幾次,不管是分三個包上傳還是一個bundle包,都是一樣的錯誤。

反覆對比之後,只能懷疑TargetDeviceFamily了,將Mobile和Desktop改回原來的Universal,再上傳就成功了。

暫時沒找到這是什麼原因導致,難道發佈過一次Universal後就只能發佈Universal了?

如果您也有遇到類似問題歡迎討論。

 
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、引言 很久沒有寫過博客了,但是最近這段時間都沒有閑著,接觸了很多方面。比如一些前端框架和組件、還有移動開發React-Native、以及對.NET框架設計的一些重新認識。這些內容在接下來的時間都會一一和大家分享的。我為什麼放置了這麼久又重新寫博客呢?因為在這段時間裡面,我雖然接觸了這麼多東西,....
  • 在iOS中,apple提供了AVFoundation 用來處理音視頻,基本能滿足一些常用的音視頻處理需求,而且能調用的硬體編解碼介面,能提高不少效率,這是其它庫所不能達到的。最近做過的Recnow SDK中已經集成了這些功能,像一些視頻長度剪輯、視頻插入、視頻轉場、添加配音、添加動畫效果等,還有一些...
  • 設想有一個游戲,游戲中有各種鴨子,它們可以飛,也可以呱呱叫。這樣一個游戲該怎樣設計呢?一、使用繼承:鴨子雖然有不同的種類,但是也有一定的相同之處,所以我們可以從鴨子中提取一個父類Duck,讓不同種類的鴨子類繼承自父類,將所有鴨子共有的屬性和行為放到父類中。這樣做看似沒有錯誤,但實際上存在以下兩個方面...
  • 在使用Excel編寫VBA程式時,用到ListBox,然後研究了下它的所有屬性。其實這個控制項功能很不好用,太老了,最重要的是還不支持滑鼠滾輪,很不好操作,但是考慮到相容性,還是使用它。 其實讀取、寫入數據用ListBox.List已經足夠了,而BoundColumn和TextColumn主...
  • 之前寫了個函數的重構,這裡寫的是函數的調用的重構,不同哦,是為了寫出讓別人好調用的函數(或介面)。1、函數改名修改點:函數的名稱未能提示函數的用途。做法:修改函數的名稱如果你想給函數寫上一句什麼註釋,那麼你就把這個註釋想辦法作為名稱寫上好了。Martin原話:你可能無法第一次就取一個好名字,這個時候...
  • 我的文章里已經多次介紹 imitate-login ,這是我最近一直在維護的一個使用c#模擬社交網站登錄的開源項目,現在新增了對插件的支持以及一個新的網站(由於某種原因,會在文章結束部分介紹;而且僅會出現在博客中)。希望喜歡的讀者可以通過 Star & fork 來支持我,我也會據此來決定時間的分配...
  • 由於這周比較忙,所以本來想做的性能測試,一直沒時間,想想還是今天給補上吧由於很多人都擔心性能問題,封裝之後跟Dapper的性能差距是多少,今天我給出我的測試方法,僅供參考.創建IDbConnection;(DapperLambda 已經把IDbConnection封裝在DbContext,所以創建的...
  • 最新在學習System.Net.Http的知識,看到有篇文章寫的十分詳細,就想轉過來,自己記錄下。原地址是http://www.cnblogs.com/chillsrc/p/3439215.html?utm_source=tuicool&utm_medium=referralSystem.Net.H...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...