文章归档

MF训练套件(Tip1):如何获取WinPhone程序集的版本号??

引言: 在前段时间,团队内部会议上,iOS, Android端的leader在汇报用户使用客户端反馈时, 只能根据用户的描述来排查出现的问题以及原因, 放出去的版本多了,有时很难分清A用户出现的问题是v1.0.0的版的?还是v1.0.1版的,所以,如何获取应用的程序集版本号,在一定程序上能够快速定位到问题. 一、问题场景 开发移动应用产品,业内听到较多的做法是:敏捷,快速版本迭代更新。殊不知,迭代的快了,容易扯着。 我记得云城在刚创建之初,当时还没有做移动产品,完全是给Bambook输出血液,即内容, 某系统在同步这块下了非常大的功夫跟精力,但由于没有做过这类系统架构的经验,导致在开发过程中的bug飙升,然,又不得不提供给“需求方”一个又一个版本,所以,抛出去的组件版本连测试的同事都有点 眼花,幸运的是,文华(原云城技术总监)会每周举行”Bug消灭会”,专门针对近一周内出现的问题进行汇总、筛选,并当场找开发工程师解决,提出问题的根源,解决的方法。 有些bug隐藏在不同的版本中,A说a这个bug已经修复掉了,B说我在小b那个设备上还重现着呢,怎么可能修复掉呢?A对B说,你用的哪个设备?什么固件版本?组件版本是多少?B傻眼,无以回答… 以上的情景,在大多数的开发团队中会碰到,还有,做Android开发的朋友也喜欢做多个版本的迭代,如果不事先做好程序集版本的收集,那么,用户反馈上来的问题是哪个版本出现的,就不知道了。 另有一种情况,即:版本更新,应用内置检查更新功能,此时,server端需要拿到当前用户手上的版本号跟服务器的版本做比对,不一致的话,则进行更新.. 二、解决之道 Windows Phone的解决方法与其他端并无差别,归纳起来,主要是获取Assembly中的Version值,代码如下: 1: /// <summary> 2: /// 获取程序集版本号 3: /// </summary> 4: /// <returns></returns> 5: public string GetVersionNumber() 6: { 7: try 8: { 9: string version = typeof(MainPage).Assembly.ToString(); 10: if (!string.IsNullOrEmpty(version) 11: && version.IndexOf(“Version=”) >= 0) 12: { 13: version [...]

MF训练套件(1):如何去除应用标题?

前言: 每一个应用程序都包含标题、启动界面等主要信息,但,如果你在设计应用的UI素材时,准备把应用名称添加到Background.jpg时,却在将应用Pin到主屏幕时发现又多出来一个应用Title,此时该如何去掉系统默认的应用名称呢? 问题起源: 如图: 运行模拟器,将应用Pin到Start屏幕,如图: 此时,我没有将Background.jpg替换为自定义的背景图片,在应用磁贴的左下角显示了应用名称。 有时,我们可能不需要这么一个标题在这,看着碍眼,那么,怎么去掉呢? 解决方法: 在项目属性文件WMAppManifest.xml中,找到Tokens->Title 节点。如图: 此时,我们只需要将Title节点内容去掉,即可实现应用磁贴不再显示标题的效果,如图:   总结: 深入理解WMAppManifest.xml文件内容是解决这类小Tips的关键所在,之前跟@马宁_aawolf沟通时,他有提到说是应用提交到市场后,这个title也会自动消失,没亲自验证过.

Windows Phone应用部署错误代码索引

引子: 我们在部署一些第三方的XAP文件、注册开发者账号、安装开发工具等操作时,会接受到系统的一些错误代码, 通常都是以0x开头的十六进制数字, 非”专业”级的人员,很少有能看懂是什么意思的,so, 只能利用google,baidu等搜索引擎来帮助理解, 本文内容也来自于网络,不过,区别就是:本文内的描述,笔者会以一名开发者的视角,帮助朋友们简单阐述深藏在这些错误代码内部的技术原理及实现。不足之处,请指正!   错误代码 描述 0x8973180E 没有安装PC上的Zune软件,请先安装Zune。 0x8973180F Zune软件的版本号不对,请下载安装最新版的Zune。 0×89731810 错误的设备配置。请重新安装Visual Studio 2010 Express for Windows Phone 来纠正这个错误。 0×89731811 Zune软件没有运行,请打开Zune软件重新试验一下。 0×89731812 连接到设备失败,请确保手机已经被连接,同时屏幕没有锁定。 0×89731813 程序启动失败,请确保你的设备被注册并解锁。 0×81030110 程序安装失败,产生了一个运行时错误。请检查WMAppManifest.xml中的程序能力配置。 0×81030118 安装程序失败。设备被锁定,在向手机上部署程序之前请先解锁它。 0×81030119 你不能安装这个程序。已经达到允许安装的程序的最大数量。在安装新软件之前,请先卸载一个旧的通过Sideloading方式安装的程序。 0×81030120 XAP文件包含了本地代码调用,如果你的WP7手机是完全越狱的的(开发账号解锁不算完全越狱) 可以解决此问题, 比如用开发者账号下修改注册表的XAP就不能成功部署,权限太大。  80004005  系统ROM是伪中文,更新及解锁时会出错,解决方法:根据固件版本,下载官方ROM,重新刷机。