设为首页 收藏本站
查看: 970|回复: 0

windows phone 8 开发系列(三)程序清单说明与配置

[复制链接]

尚未签到

发表于 2015-5-22 11:34:52 | 显示全部楼层 |阅读模式
一 清单文件内容介绍
   当我们先建了一个项目之后,我们可以看到vs自动会为我们创建了很多文件,正常人都会先一个个去翻看下每个文件都是干啥的,都主要写了些啥,在这些文件中,在Properies目录下面,我们可以看到有名为WMAppManifest.xml的文件,这是一个xml文件,但是当我们双击打开时,会发现打开的是这个可视化的编辑界面。
  
DSC0000.png
  
  一眼看上去,好像是对wp8app的一些可视化配置。我们通过“右击--》查看代码”可以看到清单的真实内容,一堆xml标记。
  这就是应用程序的清单文件,下面是一个 Windows Phone 8 应用的默认清单文件示例。
  










Assets\ApplicationIcon.png













Assets\Tiles\FlipCycleTileSmall.png
0
Assets\Tiles\FlipCycleTileMedium.png
PhoneApp




















  
  其实关于这段xml,很多节点我们猜猜,也能猜出来大概是个啥意思,我们来详细的介绍下几个常用的节点。
  
  Deployment
  可以看到在这段xml中,Deployment是跟节点。他有两个属性。
  xmlns:  命名空间。对于 Windows Phone 8,默认http://schemas.microsoft.com/windowsphone/2012/dployment;
  而对于 Windows Phone OS 7.1,默认http://schemas.microsoft.com/windowsphone/2009/deployment。
  AppPlatformVersion:Windows Phone SDK 的版本或平台的运行时二进制文件。对于 Windows Phone 8,默认值为
  8.0; 而对于 Windows Phone OS 7.1,默认值为 7.1。
  
  DefaultLanguage/Languages:
  DefaultLanguage 和 Languages 元素识别应用所支持的语言。您在这些元素中指定的语言与您的应用在 Windows
  Phone 商店 中列出。DefaultLanguage 元素是必需的。如果您指定的是商店不支持的语言,那么提交应用时会被
  拒绝。这边需要强调的是,这些属性都是可以在可视化界面编辑的,如DefaultLanguage 就可以在项目设计器“应用
                      程序”页面上的“程序集信息”对话框中指定的“非特定语言”设置,如下图:
DSC0001.png

  而“支持的区域性”这边的语文选择就对应于Languages ,在这边设置会自动更新清单文件中的节点。
  但是需要注意的是,这种同步只是单向的哦。也就是说你改了xml文件,这边界面中是不会同步的。
  他们也拥有两个属性:
  xmlns: 还是命令空间,这跟上面介绍的是一样的。
  code:   特定语言的代码。例如,英语用 en,中文用zh-CN。
  
  App
  这是主要的节点,配置关于app的一些属性,还包含了很多重要的子元素。一些顾名思义的属性我就不做介绍了,如作
  者,版本之类的。
  ProductID:默认值是项目的 GUID。在提交应用期间,新产品 ID 将插入到清单文件中
  RuntimeType:对于 Windows Phone 8 应用,默认值为 Silverlight 或 Modern Native,对于 Windows
  Phone  OS 7.1 应用,默认值为 Silverlight 或XNA,具体取决于项目类型。
  Genre:  流派,默认值为 Apps.Normal 或 Apps.Game,具体取决于项目类型。
  使用 Apps.Normal 的应用将出现在手机的应用列表中。使用Apps.Games 的应用将出现在手机的游戏中心中。
  HubType:允许您的应用出现在音乐和视频中心的附加程序部分。它用于应用提交前的测试,必须在清单文件中手动输入。
  值为1表示启用此功能。
  
  IconPath
  IconPath是App的子元素,该元素提供应用列表中可见的应用图标的位置。这个元素我们不需要特别关注,仅供内部使用。
  
  Capabilities
  这个节点跟Requirements是非常非常重要的,Windows Phone 提供了一个由功能驱动的安全模型,在该模型中用户必
                     须选择应用中的特定功能。当您在开发应用时,您可以成功地在 Windows Phone 模拟器 中部署和运行您的应用,而无
                     需指定正确的功能,但在将应用部署到手机时,您必须指定正确的功能。如果您未在需要时使用功能,应用将引
                     发UnauthorizedAccessException 异常。当您尝试在应用中使用该功能时,将显示 Access denied 消息,并且如果未
                     处理该异常,将意外退出。-----这是msdn上的解释,也就是说如果你没有勾选你app中用到的相应的功能,那么在真实的
  环境中会导致程序不能正常使用。对于这样做的原因,主要的原因有两点:
  1. 确保正确公开信息 - 当应用的功能会带来安全风险时,必须通知用户。他们必须进行选择才能允许激活功能。
  2. 减少攻击面 - 功能用来创建可在其中执行应用的安全空间。此空间一旦在安装时创建,往后就一直供应用使用。
  其实这些配置一般也是直接在可视化界面中直接勾选的,见下面“清单设计器”的介绍。

       Capability:Capability 元素有一个特性,即名称。名称指定您想要为应用启用的功能
  Tokens:
  每个应用都有一个用户可固定至“开始”屏幕的图块。Tokens描述图块的元素和特性
  TokenID:图块名称。默认值为项目名称。
  TaskName:用户点按图块时图块所调用任务名称。默认值为 _default。及Tasks中配置的。

TemplateFlip
  TemplateFlip是控制 Windows Phone 8 的应用图块的默认模板,属性基本都能看得明白。
  HasLarge:wp8中指示应用是否支持大型图块的值。没有值指示不支持大型图块。
  
  ScreenResolutions
  ScreenResolutions用于指定应用支持的分辨率。Windows Phone 8 应用支持三种屏幕分辨率。这些
  包括ID_RESOLUTION_WVGA、ID_RESOLUTION_WXGA 和 ID_RESOLUTION_HD720P。
  
  Requirements
  它用于指定硬件要求,并针对其手机拥有运行应用所需硬件的用户限制应用的公开范围。如果您的应用要求特定硬件以实现正
  常工作,您应该在将应用提交到商店之前,将要求添加到应用清单。这意味着您的应用仅在用于购买时显示和提供,并且
  仅可以由其手机具备所需硬件的用户下载和安装。没有正确标记硬件要求将导致应用的评级较差,因为用户购买应用后,该
  应用可能无法在他们的手机上正常运行。但是这个不是必选项,你可以不选择,但是我还是建议你认真勾选。
  
  常用的一般就这些,还有一些其他节点,大家有需要可以自己去msdn上查看。
  

二 清单设计器
  如果我们每次都要这样来编辑xml,那么也是一件很痛苦的事情哈,微软在这方面总是做得让我们非常满意。在Windows Phone SDK 8.0中新增入了一个清单设计器,清单设计器使你可以轻松地更新清单文件,而无需编辑文件的原始 XML。
  
DSC0002.png
  
  这里可以编辑应用程序UI相关的内容,如刚才说到的分辨率,图标,标题等属性。
  
DSC0003.png
  
  一看就知道,这是选择功能的界面,对应刚才讲的Capabilities节点,每个功能是干嘛的,右边也都有对应的说明。
  
DSC0004.png
  
  对硬件的要求,对应于刚才讲的Requirements 节点。
  
DSC0005.png
  
  最后是对程序打包发布的一些信息的配置,是不是很简单。再也不用去看繁琐的xml了。
  
  好吧,不得不承认,我们又被微软傻瓜了,有了清单设计器,我们甚至都不知道之前一开始介绍的那些xml节点,当然有部分节点还是需要我们去手动修改xml的,在清单设计器是配置不出来的。
  
  今天的程序清单介绍到这里,就差不多了,下章“windows phone 8 开发系列(四)XAML基本介绍”再会!
  

最后,参考资料:
  
  http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/ff769509(v=vs.105).aspx
  http://blog.iyunv.com/tcs250/article/details/8745996

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-69538-1-1.html 上篇帖子: 微软发布Sample Browser for Windows 8版:5000示例代码,"触手可及" 下篇帖子: Windows 8 Hello World
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表