Xamarin介绍

Xamarin是一个跨平台的开发框架(工具集),创始于2011年,旨在使移动开发变得难以置信地迅捷和简单,它是跨平台的,它允许开发人员有效创建可跨 iOS、Android、Windows 应用程序的开发工具集。

Xamarin于2016年2月被微软收购。现在是免费开源的,遵循 MIT (麻省理工学院许可证)协议。在github上的地址为:https://github.com/xamarin 。官方网站为:http://xamarin.com

简单的来说,Xamarin 使我们可以使用 C#,F#,VB.NET 等语言开发原生 iOS、Android、Windows 应用程序

可以看下:快速开发跨平台应用之Xamarin技术

以下操作基于Win10最新操作系统,VS2019最新企业版。

Xamarin安装

Xamarin 可安装为新 Visual Studio 2017(或者2019) 安装的一部分,【现在,所有版本的 Visual Studio 中都免费附带 Xamarin,并且不需要单独的许可证】具体通过以下步骤操作:

  1. 从 Visual Studio 页面下载 Visual Studio 2017 Community、Visual Studio Professional 或 Visual Studio Enterprise(底部有下载链接)。

  2. 双击下载的程序包以开始安装。

  3. 从安装屏幕中选择“使用 .NET 的移动开发”工作负载:

  4. 选择“使用 .NET 的移动开发”时,查看右侧的“安装详细信息”面板。 可在此处取消选择不希望安装的移动开发选项。

  5. Visual Studio 2017 安装准备就绪后,单击右下角的“安装”按钮:

    安装过程可能需要很长时间才能完成,具体取决于要安装的 Visual Studio 2017 版本。 可使用进度栏监视安装过程:

  6. Visual Studio 2017 安装完成后,单击“启动”按钮以启动 Visual Studio:

在 Visual Studio 2019 中安装 Xamarin,可开始为你的应用,编写代码,但用于构建和您的应用程序部署到模拟器、 仿真器和设备,则需要其他设置。 请访问以下,完成安装并开始跨平台应用构建。

iOS

有关详细信息,请参阅在 Windows 上安装 Xamarin.iOS 指南。

  1. 安装 Visual Studio for Mac
  2. 将 Visual Studio 连接到 Mac 生成主机
  3. iOS 开发人员设置 - 要求在设备上运行应用程序
  4. 远程 iOS 模拟器
  5. Xamarin.iOS for Visual Studio 简介

Android

有关详细信息,请参阅在 Windows 上安装 Xamarin.Android 指南。

  1. Xamarin.Android 配置
  2. 使用 Xamarin Android SDK 管理器
  3. Android SDK 仿真器
  4. 设置设备进行开发

安装Xamarin.Android

配置

Xamarin.Android 使用 Java 开发工具包 (JDK) 和 Android SDK 生成应用。 在安装过程中,Visual Studio 安装程序会将这些工具放置在其默认位置,并使用适当的路径配置来配置开发环境。 可单击“工具”>“选项”>“Xamarin”>“Android 设置”查看和更改这些位置 :

对于大多数用户,默认位置会起作用,无需进行进一步更改。 但是,你可能希望将 Visual Studio 配置为这些工具的自定义位置(例如,如果你已在其他位置安装了 Java JDK、Android SDK 或 NDK)。 单击要更改的路径旁边的“更改”,然后导航到新位置 。

Xamarin.Android 使用JDK 8,这是在为 API 级别 24 或更高级别进行开发时所必需的(JDK 8 还支持低于 24 的 API 级别)。 如果专门为 API 级别 23 或更低级别进行开发,可以继续使用 JDK 7

注意:Xamarin.Android 不支持 JDK 9。

Android SDK 管理器

Android 使用多个 Android API 级别(编译时 还是运行时使用)设置来确定应用在各种版本的 Android 中的兼容性。 根据要面向的 Android API 级别,可能需要下载和安装其他 Android SDK 组件。 此外,可能需要安装 Android SDK 中提供的可选工具和仿真器映像。 为此,请使用 Android SDK 管理器 。 可单击“工具”>“Android”>“Android SDK 管理器”,启动“Android SDK管理器” :

默认情况下,Visual Studio 会安装 Google Android SDK 管理器:

  • “工具”选项卡

“工具”选项卡显示“工具”和“附加程序”的列表 。 使用此选项卡以安装 Android SDK 工具、平台工具和生成工具。 此外,还可以安装 Android Emulator、低级别调试器 (LLDB)、NDK、HAXM 加速和 Google Play 库。

例如,若要下载 Google Android Emulator 包,请单击“Android Emulator”旁的复选标记,然后单击“应用更改”按钮 :

  • “平台”选项卡

“平台”选项卡显示平台 SDK 版本以及适用于每个平台的其他资源(例如系统映像)的列表 :

有关使用 Xamarin Android SDK 管理器的详细信息,请参阅 Android SDK 安装

Android 仿真器

Android Emulator 工具可有效地开发和测试 Xamarin.Android 应用。 例如,平板电脑等物理设备在部署时可能不可用,或开发人员可能想在提交代码前在计算机上运行某些集成测试。

在计算机上模拟 Android 设备包括以下部分:

  • Google Android Emulator – 它是基于 QEMU 的仿真器,用于创建在开发人员的工作站上运行的虚拟化设备。
  • 仿真器映像 – 仿真器映像是旨在进行虚拟化的硬件和操作系统的模板或规范 。 例如,一个仿真器映像可以确定运行安装 Google Play Services 的 Android 7.0 的 Nexus 5X 的硬件要求。 另一个仿真器映像可以指定运行 Android 6.0 的 10 英寸平板电脑。
  • Android 虚拟设备 (AVD) – Android 虚拟设备是从仿真器映像创建的 Android 仿真设备 。 运行和测试 Android 应用时,Xamarin.Android 将启动 Android Emulator,启动特定 AVD,安装 APK,然后运行应用。

在基于 x86 的计算机上进行开发时,可以通过使用针对 x86 体系结构进行优化的特殊仿真器映像以及以下两项虚拟化技术之一显著提高性能:

  1. Microsoft Hyper-V – 可用于运行 Windows 10 的 2018 年 4 月更新或更高版本的计算机。
  2. Intel 硬件加速执行管理器 (HAXM) – 可用于运行 OS X、macOS 或较旧 Windows 版本的 x86 计算机。

Android 设备

如果有用于测试的 Android 物理设备,现在可设置设备用于开发。 通过查看设置设备进行开发配置 Android 设备进行开发,然后将其连接到计算机以运行和调试 Xamarin.Android 应用程序。

生成第一个 Xamarin.Forms 应用

1、选择 "文件 > 新建 > 项目 ... " 或按 "创建新项目 ... " 按钮:

2、搜索 "Xamarin" 或从 "项目类型" 菜单中选择 "移动"。 选择 "移动应用 (Xamarin) " 项目类型:

3、选择该示例使用– "AwesomeApp" 的项目名称:

4、单击 "空" 项目类型, 并确保已选择 " Android和iOS ":

5、等到 NuGet 包还原(状态栏中将出现“还原已完成”消息)。

在 Android 模拟器上进行调试

6、新的 Visual Studio 2019 安装不会配置 Android 模拟器。 单击 "调试" 按钮上的下拉箭头, 然后选择 "创建 Android Emulator以启动模拟器创建屏幕:

7、在模拟器创建屏幕中, 使用默认设置, 然后单击 "创建" 按钮: 【如果处理器这里不能选择的话,应该是上面Android SDK 管理器 里没有安装平台】

8、创建模拟器后, 将返回到 "设备管理器" 窗口。 单击 "启动" 按钮以启动新的模拟器:

9、Visual Studio 2019 现在应在 "调试" 按钮上显示新模拟器的名称:

10、单击 "调试" 按钮以生成应用程序并将其部署到 Android 模拟器:

可能报错:

说明需要通过硬件加速提高仿真器性能 (Hyper-V 或者 HAXM),这里采用安装HAXM来加速,因为Hyper-V跟虚拟机会有冲突。

安装完HAXM后,再次编译运行。

修改默认程序

1、编辑 MainPage.xaml,在 </StackLayout> 结束之前添加此 XAML:

<Button Text="Click Me" Clicked="Button_Clicked" />

2、编辑 MainPage.xaml.cs,将此代码添加到类的末尾:

int count = 0;

void Button_Clicked(object sender, System.EventArgs e)

{ count++; ((Button)sender).Text = $"You clicked {count} times."; }

3、调试 Android 上的应用:

在物理设备(真机)上进行调试

在物理 Android 设备上调试 Xamarin.Android 应用程序

参考:设置设备进行开发

手机开启开发者模式,然后用usb连上PC机,在vs中就能看到了,

安装 Xamarin.iOS

设置适用于 Xamarin.iOS 开发的 Windows 计算机和 Mac 生成主机。

要完成相关设置以在 Visual Studio 2019 中进行 Xamarin.iOS 开发,需执行以下步骤:

1、设置 Windows(安装 Visual Studio 2019)

Xamarin.iOS 适用于独立或虚拟计算机上的 Visual Studio 2019 社区版、专业版和企业版。

2、设置 Mac(安装 Xcode 和 Visual Studio for Mac)

可以在Win10上安装虚拟机上安装Mac系统。

要生成、调试 iOS 应用程序以及对其进行签名以进行分发,Visual Studio 2017 必须能够通过网络访问通过 Apple 开发人员工具 (Xcode) 和 Xamarin.iOS 配置的 Mac 生成主机。

3、与 Mac 配对(将 Visual Studio 2019 连接到 Mac)

为了使 Visual Studio 2019 能够在 Mac 上使用 iOS 生成工具,两台计算机必须通过网络连接。

配置可能的错误:

重新连接,重新输入mac的登录用户名和密码(必须确保是正确的才能配对成功)

在IOS模拟器上进行调试

需要与Mac机器配对。

未配对:

配对成功:

在直接运行就可以。

如果已成功配对 Mac 生成主机,则可以在 Visual Studio 2019 中生成 Xamarin.iOS 应用。 查看 Xamarin.iOS for Visual Studio 简介指南。

Xamarin.iOS for Visual Studio 简介

借助 Xamarin for Windows,iOS 应用程序可在 Visual Studio 中进行编写和测试,并且由联网的 Mac 提供生成和部署服务。

iOS 工具栏

在 Visual Studio 2019 或 Visual Studio 2017 中打开 iOS 项目时,应会显示 iOS 工具栏。 默认情况下,它包含可用于 Xamarin.iOS 开发的四个按钮:

  • 与 Mac 配对 – 打开“与 Mac 配对”对话框。 在 Visual Studio 2019 或 Visual Studio 2017 中打开 iOS 项目时,启用该按钮。
  • 显示 iOS 模拟器 - 在 Mac 生成主机上,将 iOS 模拟器放在最前面。 在 Visual Studio 2019 或 Visual Studio 2017 中打开 iOS 项目时,启用该按钮。
  • 设备日志 – 打开一个可用于检查设备日志的窗口。 在 Visual Studio 2019 或 Visual Studio 2017 中打开 iOS 项目时,启用该按钮。
  • 在生成服务器上显示 IPA 文件 – 在 Mac 生成主机上打开一个窗口,显示应用的 .ipa 文件的位置。 完成为其创建 .ipa 的生成后,启用该按钮。

在物理设备(真机)上进行调试

1、针对 Xamarin.iOS 的设备预配

开发 Xamarin.iOS 应用程序时,除了将应用部署到模拟器,还必须将其部署到物理设备进行测试。 通过在设备上运行,可以暴露出由于硬件限制(如内存或网络连接)而产生的硬件 Bug 和性能问题。 若要在物理设备上测试,必须预配设备,并且就设备测试事件通知 Apple。

将应用程序部署到设备之前,需要具有 Apple 开发者计划的活动订阅或 使用免费设置。 Apple 提供两种计划选项

若要注册其中的任何计划,请访问 Apple 开发者门户进行注册。 注意,若要注册为 Apple 开发者,需要具有 Apple ID

或者,Apple 在 Xcode 7 中引入了免费预配功能,可在单台设备上运行单个应用程序,而无需成为 Apple Developer Program 成员。 通过这种方式设置有多种限制,详细信息如此处所述。

【即有两种预配选择:注册成为apple开发者、免费预配不用注册】

说明:

设备上运行的应用程序均需要包含一组元数据(或指纹),其中内附应用程序和开发者信息。 Apple 使用该指纹来确保应用程序部署到用户设备或在用户设备上运行时不会被篡改。 由此需要应用开发者将其 Apple ID 注册为开发者、设置应用 ID、请求证书,并注册要部署应用程序的设备。

在设备上部署应用程序时,也会在 iOS 设备上安装设置配置文件。 设置配置文件用于验证生成时应用签名所用的信息以及由 Apple 通过密码签名的信息。 通过检查以下项,设置配置文件和指纹检查一起决定是否能将应用程序部署到设备:

  • 对象(证书 – 如果应用通过私钥进行签名,则哪个对象在配置文件中具有相应公钥? 证书还关联开发者与开发团队)
  • 事件(单个应用 ID – Info.plist 中设置的捆绑标识符是否匹配配置文件中的应用 ID?)
  • 位置(设备 – 配置文件中是否包含设备?)

这些步骤用于确保开发过程中创建的或使用的所有内容(包括应用程序和设备)均可追溯到 Apple Developer 帐户。

2、预配 iOS 设备有两种方法

  • 自动(推荐) - 选择项目中的“自动预配”方案,让 Visual Studio 自动创建和管理签名标识、应用 ID 和预配配置文件 。 有关如何自动管理预配的信息,请参阅自动预配指南。 这是预配 iOS 设备的推荐方法。

  • 手动 – 可以通过 Apple 开发人员门户创建和管理签名标识、应用 ID 和预配配置文件,如手动预配指南中所述。 然后对这些项目进行管理,如 Apple 帐户管理指南中所述。

自动预配允许 Visual Studio for Mac 或 Visual Studio 2019 自动设置设备进行开发者测试。 但是,自动预配与免费预配不兼容。 若要使用自动预配,必须具有付费 Apple 开发者计划帐户。

Xamarin 的 Apple 帐户管理工具仅显示有关付费 Apple 开发人员帐户的信息。 若要了解如何在没有付费 Apple 开发人员帐户的设备上测试应用,请参阅适用于 Xamarin 应用的免费预配指南。

手动预配与付费访问 Apple 开发者计划的开发人员相关。 如果你有一个免费帐户,请参阅免费预配指南,详细了解基于设备的测试。

3、Xamarin.iOS 应用的免费预配

免费预配允许 Xamarin.iOS 开发人员将应用部署到 iOS 设备并对其进行测试,无需成为 Apple 开发者计划的一员 。 如果模拟测试有用并且方便实施,请在 iOS 物理设备上测试应用以验证它们在实际内存、存储和网络连接受到约束的情况下正常运行,这一点也至关重要。

使用免费预配将应用部署到设备:

  • 使用 Xcode 创建必需的签名标识 (开发人员证书和私钥)并预配配置文件 (包含显式应用 ID 和已连接的 iOS 设备的 UDID)。
  • 使用在 Visual Studio for Mac 或 Visual Studio 2019 中通过 Xcode 创建的签名标识和预配配置文件部署 Xamarin.iOS 应用程序。

要求

使用免费预配将 Xamarin.iOS 应用程序部署到设备:

  • 正在使用的 Apple ID 不得连接 Apple 开发者计划。
  • Xamarin.iOS 应用必须使用显式应用 ID,而不是通配符应用 ID。
  • Xamarin.iOS 应用中使用的捆绑包标识符必须唯一,且不能曾在其他应用中使用过。 使用免费预配的任何捆绑包标识符都不能再次使用 。【若不同的应用 共用了一个标识符,则在手机上只能有一个应用存在,后一个app安装会覆盖前一个已经存在的】
  • 如果已分配某应用,将无法通过免费预配对该应用进行部署。
  • 如果应用使用应用程序服务,则需要创建配置文件,如设备预配指南中详述。

4、使用 Xcode 创建签名标识和预配配置文件

  1. 如果没有 Apple ID,请创建一个

  2. 打开 Xcode 并浏览到“Xcode”>“首选项” 。

  3. 在“帐户” 下,使用 + 按钮添加现有 Apple ID。 它应类似于下面的屏幕截图:

  4. 关闭 Xcode 首选项

  5. 插入要在其中部署应用的 iOS 设备。

  6. 在 Xcode 中创建新项目。 选择“文件”>“新建”>“项目” ,然后选择“单一视图应用” 。

  7. 在新项目对话框中,将“团队” 设置为刚添加的 Apple ID。 在下拉列表中,该内容类似于你的姓名(个人团队) :

  8. 创建新项目后,选择以 iOS 设备(而不是模拟器)为目标的 Xcode 生成方案。

  9. 在 Xcode 的项目导航器中,选择应用的顶级节点,打开应用的项目设置 。

  10. 在“常规”>“标识”下,确保捆绑包标识符完全匹配 Xamarin.iOS 应用的捆绑包标识符 。【需要额外注意Bundle Identifier的值,在接下来的操作中还会用到】

Xcode 将仅为显式应用 ID 创建预配配置文件,并且它必须与 Xamarin.iOS 应用的应用 ID 完全相同。 如果不同,将无法使用免费预配部署 Xamarin.iOS 应用。

11.在“部署信息” 下,确保部署目标与已连接的 iOS 设备上安装的 iOS 版本相同或低于该版本。

12.在“签名”下, 选择“自动管理签名”,并从下拉列表中选择团队:

13.若要在 Xcode 中测试,通过单击运行按钮将空应用程序部署到设备。

5、部署 Xamarin.iOS 应用

1.请确保 Visual Studio 2019 或 Visual Studio 2017 已与 Mac 生成主机配对

2.通过 USB 或以无线方式将 iOS 设备连接到 Mac 生成主机。

3.在 Visual Studio 2019 或 Visual Studio 2017 的“解决方案资源管理器”中,右键单击 Xamarin.iOS 项目,然后选择“属性” 。

4.导航至“iOS 捆绑包签名” 。

5.对于“配置”,选择“调试” ;对于“平台”,选择“iPhone” 。

6.选择“手动预配” 。

7.选择由 Xcode 创建的签名标识 ;选择由 Xcode 创建的预配配置文件 。【打开项目的Info.plist文件,将捆绑包标识符(Bundle Identifier)更改为上面xcode中记录的值。】

提示:Xcode 创建此签名标识和预配配置文件并将其存储在 Mac 生成主机上。 由于 Visual Studio 2019 或 Visual Studio 2017 已与 Mac 生成主机配对,因此可访问该标识和配置文件。 如果未列出,建议重启 Visual Studio 2019 或 Visual Studio 2017。

8.保存并关闭项目属性。

9.选择 iOS 设备并运行应用。

注:可能会出现报错:Xamarin.iOS 12.14.0 does not support a deployment target of 12.4 for iOS (the maximum is 12.2). Please select an older deployment target in your project's Info.plist or upgrade to a newer version of Xamarin.iOS. AwesomeApp.iOS

解决方法:在 Info.plist 中修改 部署目标,为12.2

再次运行,即可将ios的app下载到iphone中运行了。

Xamarin安装及调试的更多相关文章

  1. Windows Service 开发,安装与调试

    Visual Studio.net 2010 Windows Service 开发,安装与调试 本示例完成一个每隔一分钟向C:\log.txt文件写入一条记录为例,讲述一个Windows Servic ...

  2. ubuntu14.04下nodejs + npm + bower的安装、调试和部署

      1. 简介 本文介绍ubuntu14.04下nodejs+npm+bower的安装.调试和部署 参考文档 https://docs.npmjs.com/getting-started https: ...

  3. Xamarin.iOS模拟器调试找不到资源文件

    Xamarin.iOS模拟器调试找不到资源文件 在Visual Studio 2015中,运行Xamarin.iOS项目,出现找不到资源文件的错误.错误信息:System.IO.FileNotFoun ...

  4. postgresql编译安装与调试(二)

    接前文postgresql编译安装与调试(一),继续说说postgresql的编译安装与调试. 上一篇已经详细说明了如何在Linux系统上编译安装postgresql,这次我们在此基础上简单讲讲如何在 ...

  5. Redis安装与调试

    Redis安装与调试 Redis安装与调试linux版本:64位CentOS 6.5 Redis版本:2.8.17  (更新到2014年10月31日) Redis官网:http://redis.io/ ...

  6. 安装ARM调试器

    一.概述 1.调试ARM应用程序的软硬件组成 硬件JTAG/SWD仿真器 Eclipse调试插件 GDB调试客户端 GDB服务器端 JTAG/SWD需要的硬件驱动 2.GNU ARM Eclipse推 ...

  7. Xamarin 安装步骤

    原文:Xamarin 安装步骤 1.下载并解压吾乐吧软件站提供的“Mono for Android 离线包” 安装:jdk-6u45-windows-i586.exe (就算你是64位系统,也要安装i ...

  8. ubuntu安装带调试功能的bochs

    ①进入bochs官网下载源码包 说明 用安装包直接安装没有调试功能 下载源码包步骤 a.输入网址:http://bochs.sourceforge.net/ b.单击图中红色标注图标 c.单击图中红色 ...

  9. APM的3DR无线数传的安装和调试

    APM飞控修改数传模块方法 http://www.cnblogs.com/wsine/p/4909903.html APM的3DR无线数传的安装和调试 http://tieba.baidu.com/p ...

随机推荐

  1. SQL SERVER 数据库查询表信息

    SELECT 表名 then d.name else '' end, 表说明 then isnull(f.value,'') else '' end, 字段序号 = a.colorder, 字段名 = ...

  2. 【题解】Luogu P5304 [GXOI/GZOI2019]旅行者

    原题传送门 题意:给你k个点,让你求两两最短路之间的最小值 我们考虑二进制拆分,使得每两个点都有机会分在不同的组\((A:0,B:1)\)中,从源点\(S\)向\(A/B\)中的点连边权为0的边,从\ ...

  3. Educational Codeforces Round 75 (Rated for Div. 2)

    知识普及: Educational使用拓展ACM赛制,没有现场hack,比赛后有12h的全网hack时间. rank按通过题数排名,若通过题数相等则按罚时排名. (罚时计算方式:第一次通过每题的时间之 ...

  4. Unity - 绘制正五边形网格

    本文简述了Unity中绘制正五边形网格的基本方法:计算顶点信息.设置三角形覆盖信息.创建配置mesh 绘制方法 基本思路:计算出五边形顶点坐标信息作为数组,设置三角形包围方式,再创建新的mesh配置v ...

  5. phpdocmentor 生成php 开发文档(转载)

    PHPDocumentor是一个用PHP写的工具,对于有规范注释的php程序,它能够快速生成具有相互参照,索引等功能的API文档.老的版本是phpdoc,从1.3.0开始,更名为phpDocument ...

  6. springboot 接口参数校验

    前言 在开发接口的时候,参数校验是必不可少的.参数的类型,长度等规则,在开发初期都应该由产品经理或者技术负责人等来约定.如果不对入参做校验,很有可能会因为一些不合法的参数而导致系统出现异常. 上一篇文 ...

  7. Java自学-类和对象 方法重载

    什么是Java 方法重载 方法的重载指的是方法名一样,但是参数类型不一样 步骤 1 : attack方法的重载 有一种英雄,叫做物理攻击英雄 ADHero 为ADHero 提供三种方法 public ...

  8. 在Linux系统中创建SSH服务器别名

    如果你经常通过 SSH 访问许多不同的远程系统,这个技巧将为你节省一些时间.你可以通过 SSH 为频繁访问的系统创建 SSH 别名,这样你就不必记住所有不同的用户名.主机名.SSH 端口号和 IP 地 ...

  9. kafka消费者问题

    [] 2019-12-17 15:40:01 - [INFO] [AbstractCoordinator:542 coordinatorDead] Marking the coordinator 机器 ...

  10. Pycharm中连接数据库乱码问题解决

    当我们使用pycharm建立数据库之后,看到里面的数据都是乱码,就像下面一样: 其实这个并不是pycharm的显示问题,而是建立数据库时产生的. 解决方法是到指定字符集的命令提示符中重新建表并指定字符 ...