Tag: xamarin

Xamarin.Mac和netstandard2

随着.NET Core 2.0的发布,今天是.NET社区激动人心的一天: 宣布.NET Core 2.0 NET Core 2.0现已作为最终版本提供。 您可以在… blogs.msdn.microsoft.com中从命令行开始使用它进行开发。 但是,如果您尝试将新的闪亮的netstandard2库与Xamarin.Mac(或iOS)一起使用,则可能会遇到一些问题,因为计划对我们的下一个主要版本d15-4(XM 3.8和XI 10.14)提供官方支持。 现在,通过安装正确的位并对csproj进行较小的调整,即可解决所有这些问题。 第一:安装在稳定频道中找到的最新d15–3版本 第二:安装.NET Core 2(您需要pkg下载) 第三:由于此错误,您需要调整Xamarin.Mac(或iOS)csproj,直到它得到修复。 将此行添加到您的参考部分: 下面 (或对于iOS,为) 但在同一个ItemGroup中。 当且仅当您针对Xamairn.Mac Full目标框架,您将需要另外添加以下行: v4.6.1 在顶部的PropertyGroup中(例如,在UseXamMacFullFramework之上)。 经过这些调整后,事情应该“正常”。 正如我提到的那样,全面支持将在下一个主要版本中进行,因此请提交遇到的所有错误。

Xamarin的fastlane快照

部署到模拟器 生成应用程序时,需要将其部署到Simulator。 为此,我创建了bash脚本: 创建Xcode UI测试 将应用程序部署到Simulator后,我们可以接下来移动并创建FastlaneSnapshotXamarinTest项目,并选中“ Include UI Tests”。 下一步是通过命令fastlane snapshot init初始化fastlane快照 。 并取消注释要从中获取屏幕快照的设备(在Snapfile中 )。 现在,我们需要将SnapshotHelper.swift添加到FastlaneSnapshotXamarinTestUITests。 SnapshotHelper.swift文件需要进行一些小的修改,我们需要使用默认的构造函数将XCUIApplication的创建替换为XCUIApplication,并使用接受bundleIdentifier:“ com.organization.appname”的构造函数。 实际上,测试本身包含一种使用bundleIdentifier激活应用程序的方法:“ com.bohdanhrybach.FastlaneSnapshotXamarin” ,使用reverseText标识符向UITextField输入文本,使用01UserEntry图像名称创建快照,然后按下带有reverseButton标识符的UIButton并使用02Alert进行快照 图片名称。 就这些。 现在您应该可以在Xamarin上使用fastlane快照了

Arreglando Offset de ListView de Pull刷新Xamarin iOS

哇! 刷新列表,查看问题的实用程序Xamarin在iOS上运行以刷新列表,并在列表中添加了全部内容,并在实际情况中进行了补充利斯塔 iOS清单上的清单会显示在清单上哈塞莫斯山刷新。 实施实际操作的权利。 VAMOS MANOS LA LA OBRA! 决定ListView个性化列表,ExtendedListView,公共菜谱,公共场所,公共场所,公共场所和个人渲染器。 禁止在体育比赛中进行体育比赛,特别是在旅行中进行旅行。 PASO 1:Crear la carpeta“ Controls”和agregar nuestra nueva clase Siempre es bueno mantener nuestro proyecto limpio y ordenado。 Personalmente,我是负责人,负责人(负责iOS和Android的Android开发),负责人是lalamado“ Controls”,负责人是estédirectio,负责人es Donde creo todos mis controles personalizados, de archivosdeberíaverse como esto ahora: PASO 2:Crear nuestro ExtendedListView Renderer en proyecto iOS Xamarin的基本输出列表,ViewView渲染器和Xamarin的新输出渲染器,以及常规的ListView Xamarin组件的可视化复制,形式如下: Pujols用♥制成

使用Xamarin.UITest和Page对象模式进行自动化的UI测试

移动应用程序的UI测试至关重要,以便在最终用户手中准确测量给定应用程序的可用性。 当应用程序的功能集增长时,手动测试应用程序的UI可能会效率低下,如果需要测试多个设备配置,则几乎不可能。 因此,自动化的UI测试已成为开发人员监视其移动应用程序行为的宝贵工具。 使用Xamarin.UITest框架,我们能够快速而轻松地完成此任务。 Xamarin.UITest,Calabash和NUnit概述 Xamarin.UITest是基于Calabash的自动化测试框架,允许开发人员编写以NUnit编写的验收测试。 Calabash是用Ruby编写的核心框架,它使开发人员能够编写自动UI接受测试。 最后,NUnit是用于基于.NET的语言的单元测试框架。 开发人员可以使用NUnit和Xamarin.UITests对iOS和Android应用程序运行测试。 从那里,开发人员还可以通过Visual Studio App Center(以前称为Xamarin测试云)提交这些测试,以使其在数百个物理设备上运行。 为什么要编写自动化的UI测试? 自动化的UI测试允许快速开发健壮的代码库,同时能够系统地测试多个设备目标上的常见用户方案。 如果团队决定重构其核心体系结构,它还允许用户快速测试应用程序。 这使团队可以清晰地了解可能需要检修的工作项目以及按预期工作的项目。 通常,行为驱动开发还具有隐藏的好处,例如难以发现代码库中的错误以及允许专家和开发人员更好地协作来构建用户故事。 使用Xamarin.UITest Xamarin.UITest框架需要依靠一些概念才能正常工作。 框架中的每个自动UI测试都以[Test]属性进行修饰。 在每个测试中,存在测试逻辑的类称为测试夹具 。 给定的测试套件中可以有一个或多个测试夹具。 这些测试应该按照最终用户根据Xamarin自己的“安排-行为-声明”模式与应用程序进行交互的方式进行逻辑安排。 此模式要求设置和初始化测试条件(安排),测试将像用户一样操作并与应用程序交互(执行),最后,测试将检查这些交互的结果(声明)。 下面是一个示例。 我们将对包括本文在内的所有示例使用Xamarin.iOS。 初始化 要在iOS上初始化Xamarin.UITest,请使用静态ConfigureApp类: var config = ConfigureApp .iOS .InstalledApp(“package.identifier”) .EnableLocalScreenshots(); 这允许UITest库将应用程序部署到物理设备上以运行测试。 使用InstalledApp允许在物理设备上以编程方式启动,而调用AppBundle将强制在模拟器上运行。 在物理设备上进行测试时,务必将应用程序的捆绑软件ID放置在package.identifier参数的位置。 您可以使用应用程序的相对或绝对路径在模拟器上进行测试。 在我们的情况下,如果没有用户首先通过身份验证应用程序登录,该应用程序将无法成功运行。 登录后,用户将被重定向到原始应用程序。 这可以通过框架以与上述相同的方式实例化应用程序来完成。 重要的是要注意,为了使它在iOS上成功运行,还必须已经构建了该应用程序。 调试测试 在编写UI测试时,可能有时需要手动浏览UI或快速测试一些应用程序命令。 幸运的是,Xamarin.UI测试框架配备了repl(read-eval-print-loop)来处理此问题。 该工具使开发人员可以与应用程序的UI进行交互,从而使他们可以测试单个命令,遍历界面,并清晰地了解哪些视图处于活动状态以及与每个元素相关联的元数据标签。 为了使用repl,我们只需要从测试内部调用IApp.repl()方法。 当执行repl()方法时,它将暂停当前测试,并在新的终端窗口中打开repl。 在这里,我们可以直接与该应用进行交互,测试命令和查询,并进一步了解我们的UI。 在编写测试时,我们经常需要检查屏幕上实际存在的视图。 为此,repl有一个名为tree的漂亮命令,该命令提供了屏幕上当前可见的所有视图的层次结构列表。 由于Xamarin.UI测试框架的许多方法都依赖AppQuery对象在屏幕上找到正确的视图,因此我们需要知道实际上是在获取正确的元素。 […]

UIPickerView Xamarin iOS

iOS Picker View为您的用户提供了一种从可能项目列表中选择项目的方法。 我认为此控件的外观和感觉很棒。 这篇文章显示了Picker的基本设置。 首先,将一个UIPickerView添加到您的Storyboard。 向UIPicker添加名称,此示例使用examplePicker 如果您更熟悉Android开发,那么为Xamarin iOS设置Picker似乎很奇怪,您不能仅用列表填充Picker。 需要一个实现UIPickerViewModel的类,该类设置Pickers模型,然后实际填充它。 这是一个示例类,使用ViewModel作为要显示的项目列表: 公共类YourListPicker:UIPickerViewModel { YourViewModel _viewModel; 公开的YourListPicker(YourViewModel viewModel) { _viewModel = viewModel; } /// ///拖动项目时由选择器调用 /// 公共重写void Selected(UIPickerView pickerView,nint行,nint组件) { _viewModel.HandleSelectedItem = _viewModel.YourListOfItems [(int)row]; } /// ///由选择器调用以获取要显示的项目总数 /// 公共重写nint GetRowsInComponent(UIPickerView pickerView,nint组件) { return _viewModel.YourListOfItems.Count; } /// ///由选择器调用以获取微调器列的数量 /// 公共重写nint GetComponentCount(UIPickerView选择器) { 返回1; } /// ///由选择器调用以获取要显示的每个项目的文本 /// […]

Xamarin.iOS构建选项

Xamarin IDE为iOS和Android提供了非常有用的构建选项。在这里,我们讨论可用于iOS的构建选项。 可以使用各种配置和平台进行配置。 在这里,我仅考虑将其用于两种配置和平台,但是您可以根据自己的选择进行配置。 我在这里考虑的配置是Debug and Release,而Platform是模拟器和Device。 注意:有些构建选项对于调试配置是不可选择的。 什么是构建选项,它的用途是什么? 构建选项是在构建应用程序时可以使用的预定义规则或配置,换句话说,我们可以称其为构建应用程序时可以应用的一组规则。 它用于减少构建时间,应用程序大小,提高应用程序性能等。 如何打开Xamarin.iOS应用程序的构建选项? 您可以通过双击iOS项目来打开构建选项,或者右键单击它,在Mac的Visual Studio中选择“选项”,在Windows的Visual Studio中选择“属性”,然后从左侧面板中选择iOS生成选项。 您可以更改每个可用配置和平台的构建选项。 有关如何更改和添加构建配置和平台的更多详细信息,请检查:https://blog.xamarin.com/demystifying-build-configurations/ 有关配置和平台选项,请参见附图(Visual Studio for Mac的屏幕截图)。 了解构建选项 如上图所示,有许多可用的构建选项,每个都有不同的用法和优点,其中一些可能在某些配置和平台上不可用。 SDK选项:这使您可以选择系统上安装的iOS SDK版本,以用于构建应用。 链接器行为:在构建应用程序时,Visual Studio for Mac或Visual Studio会调用一个名为mtouch的工具,该工具包括托管代码的链接器。 链接器可以删除未使用的代码,以减少应用程序的整体大小。 链接器使用静态分析来确定您的应用程序易于遵循的不同代码路径。 这是一个繁重的过程,因此在编译时会花费一些时间,因为它必须遍历每个程序集的每个细节,以确保不会删除任何可发现的东西。 可以通过从可用选项中选择选项来定制链接器行为。 Xamarin提供的主要三个选项如下所述。 不链接:选择此选项意味着链接步骤将被跳过,并且不会删除任何代码。 这样可以加快构建过程,但会产生较大的IPA。 在构建应用程序时使用它是有意义的,因为作为开发人员,您关心的是减少构建应用程序的时间 仅限于Link Framework SDK:此选项将使您当前的应用程序程序集保持不变,并通过删除应用程序未使用的所有内容来减小Xamarin.iOS(Xamarin.iOS SDK)附带的程序集的大小。 当您将平台定位到iOS设备时,此选项最适合。 此选项与“全部链接”选项的区别在于它无法执行少量优化。 全部链接:设置此模式时,链接程序可以使用其优化的整个集合来尽可能减少应用程序。 它将同时对用户代码执行链接操作,从而修改用户代码,因此,当您的代码使用某种功能(链接程序的静态分析无法检测到)(对于Web服务,反射或序列化)时,它有时可能会中断。 可能需要对代码进行一些更改才能使应用程序链接所有内容。 您可以从此处找到有关链接和链接器安全代码的更多详细信息:https://developer.xamarin.com/guides/ios/advanced_topics/linker/ 支持的体系结构:此选项指定可以在哪些设备上运行应用程序。 根据处理器体系结构,它具有许多选项。 下面列出了每个设备名称。 ARMv7 – iPhone 3GS,4、4s。 […]

如何将大量图像导入Xamarin.iOS项目

我正在开发Xamarin.iOS的iOS应用程序,对我来说,第一个具有挑战性的事情是如何在Xamarin.iOS项目中添加大量图像。 我正在做一个小项目,可以转换货币汇率,并且需要显示很多货币标记。 当我想将图像添加到Xamarin.iOS项目中时,我发现它是如此无聊,Visual Studio无法为我们提供添加图像的便捷方法。 我不想一一添加。 让我们看看将图像添加到项目中时发生了什么。 然后我们可以找到一些使其自动化的方法。 在开始之前,建议您阅读此文档:在Xamarin.iOS中显示图像。 因此,您可以对该主题有基本的了解。 通过编辑器添加图像 首先,让我们按照官方说明添加图片。 右键单击Asset Catalogs然后选择Add Asset Catalog : 输入Tests作为资产目录名称: 在Asset Catalogs文件夹中双击Tests ,然后您将看到Tests.xcassets的结构: 要添加图片,请点击顶部的第一个按钮,然后选择Add Image Set : 编辑器将添加一个名为Images的图像集,如下所示: 现在,您可以选择不同大小的图像以适合不同的分辨率和设备。 您也可以将图像直接拖到编辑器中。 例如,我为1x选择一个小的图像文件。 我不选择其他人,因为这只是一个演示。 实际上,此图像的文件名是flag_white.png (取决于您的选择)。 但是在Tests.xcassets设置的图像名称是Images 。 您可以通过选择图像集重命名并在“ Properties窗口中更新“ Name属性: 让我们将其重命名为MyFirstImage : 现在,您可以通过以下代码在代码中使用图像文件: MyFirstImage.Image = UIImage.FromBundle(“ MyFirstImage”); 添加图像后发生了什么 Xamarin.iOS使用不同于UWP和Android的方式来组织资源。 Xamarin.iOS不用使用文件名,而是使用Asset Catalogs Images Sets指定一个Json文件来指示文件名。 这意味着您的文件名称可能与代码中的名称不同。 好。 接下来,让我们找出添加图像后发生的情况。 右键单击Xamarin.iOS项目,然后Open folder in […]

Xamarin Mac Agent,适用于Visual Studio和Mac na Rede

名为“ Acesso Remoto”的名称为“ esquerda”和“ seguida allowa”的名称为“ Todos osusuários”。 Feito isso,或其他访问者。 观察先前的图像,例如“ Acesso Remoto:Ativado”,存在以下名称:para iniciarsessãode forma remota nested computador,数字为“ ssh Juliano@192.168.25.145”。 Essesnúmerosapóso“ @”(192.168.25.145)保留所有权利。 在Mac上进行IP保护,在Visual Studio上没有Windows即可配置。 Requisitos Windows 在Xamarin configurado no seu窗口中的必需品,在以下位置购买:Xamarin no Windows的配置文件 Windows配置 Abra o seu projeto Xamarin否Visual Studio e提示Xamarin Mac Agent。 恩科斯-泰莫斯-杜恩斯-福马斯-德恩孔特拉地区: 1-工具-> iOS-> Xamarin Mac Agent 2 —工具->选项-> Xamarin-> iOS设置->查找Xamarin Mac Agent Em […]

开始在Xamarin中构建增强现实应用程序

为Dootrix工作的最大好处之一就是可以花时间在新技术上工作。 几个月前,我接到了一项激动人心的任务,即构建功能演示程序,以在iOS上使用增强现实技术向新老客户展示。 只是在寻找代码? 本文的源代码在这里🍷 什么是增强现实? 增强现实 ( AR )是物理现实世界环境的直接或间接实时视图,其元素被计算机生成的感知信息“增强” 增强现实应用程序的一个著名示例是Pokemon Go。 此移动应用程序将增强现实技术吸引了成千上万的年轻人。 此应用程序的前提是您可以前往不同的地方,并从字面上捕获移动设备上的Pokemon。 宠物小精灵看起来好像正站在地面上的前方。 然后,您将向上滑动以向其扔Pokeballs。 您如何在iOS中构建增强现实应用程序? 为iOS构建增强现实应用程序的技术被称为ARKit。 ARKit扩展了设备相机的功能,并允许您检测平面并将3D对象添加到虚拟世界中。 在线上的大多数示例向您展示了如何使用Objective-C或Swift进行此操作,但是此演示程序的要求之一是使用Xamarin和.NET进行此操作。 你是如何开始的? 您将需要一些入门知识: 运行macOS的计算机,例如MacBook Mac版Visual Studio 苹果设备(很遗憾,您无法使用模拟器进行测试😅) 您可能遇到的问题 无法部署到您的设备 在Visual Studio for Mac中首次构建项目时,它可能无法部署到设备。 要解决此问题,您需要: 在XCode中创建一个空白应用程序 让它自动为您生成发布配置文件 将其部署到您的设备 之后,您应该可以从VS for Mac deploy部署应用程序了 启动AR会话时,您的应用程序崩溃 这会吸引很多人。 我认识一些开发人员,他们花了一段时间研究为什么他们的应用程序崩溃时,如果他们想查看一切是否正常,却没有有意义的消息。 该解决方案将为您节省大量的时间和挫败感。 一旦知道,它就会被刻在您的大脑中😉 问题是您需要允许权限访问设备上的相机。 因此,您需要修改Info.plist文件并启用“隐私–摄像机使用说明”权限。 使用应用程序请求访问设备相机时将显示的值进行设置。 设置完之后,您的应用程序将不再崩溃。 不客气😎🎉 创建项目 如前所述,您将需要Visual Studio for Mac。 打开它,我们将选择iOS> […]

Xamarin ios projeyiyayınlama

ios Projeyi bir deviceyayınlamakiçingerekli olanlar 否:Yapılacakolan ayarlamalar应用商店içinyapılmışayarlamalardeğildir,应用商店yüklemedenyapılanörnekiçhizmetlerdekullanılanbir iyuygulamasıiçinkullanımıuygun olabilir。 格里克利·奥兰拉尔(Gerekli Olanlar) 1-Debug etmekiçindegerekli olanlar mac makina yada mac olmayan bir makinaya hackintoshişletimsistemi kurarakta kullanabilirisiniz🙂链接 2-https://developer.apple.comyayınlamakiçingerekli .ipadosyası胆汁oluşturmanaizin vermiyor苹果。 3-Telefona .ipa dosya paketiniyüklemekiçinyüklemekonuısundayardımcıolanbazısiteler var ben https://www.installrapp.com/kullanıyorumburadanyaptığımayarlamlarıgöstereceğim。 4次推送通知https://appcenter.mskullanıyorumbaşkafirmalarda var istersenizdeğiştirebilirisiniz。 Yapılacaklar 1-Mac makinabağlantısıkurmak Önceliklemacmakinamızdabirbaşkamakinadanerişimsağlamasıiçinerişimizniayarlamasınıyapıyoruzve makinadayapılmasıgereken updatelerinyapılmışolmasızıyyanılınyanılına ilgiliayarlamayıyaptıktansonra macmakinanızaeğeraynıağdaise local ipüzerindenyadaaynıağdadeğilseipüzerindenbağlantıkurabilirsinizönceden 2-Visual Studio项目开发人员Ayarişlemlerimi 3-Mac makinadayapılmasıgereken钥​​匙扣ayarlamaları 4-d eveloper.apple.comyapılmasıgereken ayarlamalar 5视觉工作室yapılmasıgerekenler […]