Tag: Xamarin应用开发

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 […]

开发人员的生活07–08.03.2018

今天,我设法完成了几件事。 我将对Xamarin原型应用程序的更改合并到了我的Generator App中,因此现在生成的代码可以正常工作了! 这可能远非完美,但没有软件是开箱即用的。 我需要考虑下一个(新的)项目是什么,它将测试是否发现任何错误并找到可以改进所生成代码的更多功能(更多功能,更多体系结构组件等)。 我设法在iOS应用程序中通过“呼吸”操作栏上的图标进行操作。 问题有几个: 首先,“动作栏按钮”项需要小图标(50×50)。 这与我以前在Android平台上(至少从以前的设计准则中)习惯的做法不同,在Android平台上,您将不同大小的图像(从192×192到36×36)放置到不同的文件夹中,然后系统选择要加载。 看起来有一个创建图标的准则,即图标应看起来是不透明的,其余图标则是透明的。 我以这种方式在Android上也创建了图标,但是对于新的(可能已经不是那么新的)设计指南,将图标放置在工具栏(组件)上。 我认为这称为清晰设计。 由于我是主要专注于功能的程序员,因此您必须对我在UI方面的空白感到抱歉。