走进 Visual Studio Mobile Center for Xamarin.Forms
前几篇分别介绍了 Xamarin.Forms 的 MVVM 的 Prism,UITest,Nuint Test,那这样算下来,代码部分基本结构都有了(逻辑就先忽略吧)
那接下来就应该是自动 Build,Test,部署之类的,总之该是朝着 DevOps 的方向前进了,虽然我不能完全搞定
如果所有环境都自己搭建的话,还是很费事的,嗯,关键是我好多细节不会配置,比如写各种 yml 配置,所以我就偷偷懒,直接用 Visual Studio Mobile Center 好了
一、Mobile Center 是什么
看官网介绍,基本就是 DevOps 都可以搞定了,还不用自己搭建环境,关键还支持这么多平台,干嘛不用
二、环境和版本
- Win 10 17017 preview
- VS 2017 15.4.2
- Xamarin.Forms 2.3.4.270
- UITest 2.1.2
三、准备工作
- 项目:还是之前的 SD.Xamarin 项目,大家就自己建一个项目,按照之前的文章搞一下就好了
- Mobile Center:注册一下账号(https://mobile.azure.com/login?original_url=%2Forgs)
二、配置
- 项目部分
如图这里的 1,2,3 项目都需要添加相关的 Nuget 包,搜索 Mobile Center 即可
添加后,再修改下Portable 项目的 App.xaml.cs 文件的构造函数添加相关代码
public App(IPlatformInitializer initializer = null)
: base(initializer)
{
MobileCenter.Start("android=5c81276c-2895-4204-a743-080b1e18ff04;"
+ "ios=d9bb5279-f4b5-4d57-9888-8d6a16dfa690",
//+ "uwp={Your UWP App secret here};"
typeof(Analytics), typeof(Crashes));
}
这里的红色字符是 Mobile Center 创建项目后生成的那个(后边会看到的),Get started 里都给出的,请正确粘贴哦,非最后一个注意后边的分号
- Mobile Center 部分
注册并登录后就是下边这个样子,
然后你可以创建一个组织,也可以直接添加 App ,这里我建了一个 XamarinTest 的组织,并添加了一个 Android 和 IOS 项目
每个项目又有一些设置,具体的可以根据你的需要设置,默认是告诉你怎么开始使用,除了之前添加的 Nuget ,还有和左边菜单项对应的功能,都可以添加相应的 Nuget 来使用
这里选择 Xamarin.Forms 并记住这里提供的 ID 字符串,稍后代码里需要用,当然如果没记也没关系,再去 Setting 里复制一下也可以
这里就是所有的步骤截图了,相应功能的具体说明链接如下
选择一个 App 后会先让你选择代码库,默认是 VSTS 的,我这里选的是 GitHub ,然后选择项目,这样以后提交代码就会自动 Build 和 Test 了
之后就是设置这个 App 的一些参数,根据需要修改就可以了,这是 Build 的一些配置
还有 Test 的配置,这里基本和 Xamarin Test Cloud 差不多了,选择设备什么的
配置 Test 的分支和类别
最后是提交,Build 之后应该是会自动提交的,这里也介绍了手动提交
这是完整的截图,是不是觉的就是 Test Cloud 那一套,所以官方的宣传 Visual Studio Mobile Ceter 是下一代的 Hockey App + Xamarin Test Cloud 一点都没错,会让你很自然的过度过来
这里的命令规则复制下来改成自己的就可以了
自动 Test 就不用管了,这里说下手动上传跑 Test 吧,估计是给不提交代码但是想验证用的吧
1.cmd 打开命令行窗口
2.转到代码所在目录盘符,这里是 E 盘——E:
3.转到代码目录—— cd E:\Code\SD.Xamarin
4.登录 Mobile Center ——mobile-center login
这时会打开浏览器,弹出一个网页,给你一个 Token
此时的命令行会要求你填入这个 Token,然后提示你登录成功
之后就和 Test Cloud 一样了,填入命令就可以了
跑完后就可以去 Mobile Center 看结果了,这里的第二个是我手动上传的,至于时间间隔这么大,就是因为之前命令写错参数了,然后开了个会
具体的信息可以点进去查看
OK ,到这里就完成了 Test 部分,至于其他的 Crashes 和 Analytics 可以添加其他的 Nuget 尝试一下
因为之前的文章都被移除了首页,因为图片太多,这篇应该是最多的了吧,但是没图片会缺少过程,如果你能看到这篇,请手动找一下以前的文章吧,我也无能为力