【问题标题】:What kind of things to expect when using Xamarin without a Mac?在没有 Mac 的情况下使用 Xamarin 时会发生什么样的事情?
【发布时间】:2020-04-25 18:56:30
【问题描述】:

我最近对 ​​Xamarin 的跨平台开发 (Xamarin.Forms) 产生了兴趣,我只是好奇如果我完全使用 Xamarin 开发,但在 Windows 机器上会发生什么?我真的在问这样的事情:

“布局不正确,因为空白。”

“IOS 处理 x,y,z 的方式不同,通常是使用 Xamarin 进行跨平台开发的问题。”

即如果在生产结束之前我无法获得 Mac,那么使用 Xamarin 开发应用程序是否值得?最终引入 Mac 时会出现什么类型的问题?在这种情况下,我还是坚持使用 android studio 会更好吗?

我已经查看了这个:Xamarin Visual Studio IOS Development Without a Mac?我知道 Mac 是必要的,我只是想知道在最后引入一台 Mac 的可行性,以及通常会遇到什么问题。

【问题讨论】:

  • 关于“需要 Mac”,您可能需要研究一个名为 Hot Restart 的东西 :)
  • 快速浏览一下,这可能正是我所需要的!一定要去看看,谢谢=)

标签: android ios xamarin xamarin.forms cross-platform


【解决方案1】:

TL/DR:有可能,但很可能不可能。

您的问题的答案完全取决于您要达到的目标。如果您使用许多平台相关 API(通讯录、相机、共享、iCloud 等)或自定义控件,则无需 Mac(以及至少一台物理设备)进行开发几乎不可能。当然,您可以盲目地实现所有内容,并希望在后期开发中只进行少量修复,但我们都知道这不会发生。特别是如果您在 iOS 开发方面不是很有经验,我认为,否则您可能可以访问 Mac,iOS API(UI 和系统)可能有点......嗯......不直观且难以过得去。

如果您开发一个简单的应用程序,例如只查询一个网络用户界面并使用股票视图来显示数据,它可能是可行的。根据您期望的 UI 的一致性,当您可以使用 Mac 时,可能需要在后期开发中进行一些调整,但如果您幸运的话,这可能只是少数。有关于如何使用 Xamarin.Forms 制作漂亮 UI 的教程,但您仍然会受到这种方法的限制

【讨论】:

    【解决方案2】:

    这就是我过去所做的 - 将所有内容都保留在 Xamarin Forms 中,没有自定义控件。但是,这取决于您拥有 Mac 的时间。根据经验,您将需要更改字体大小和填充。也许还需要更改边距和高度请求。您设置特定数字的任何内容都可能需要更改。

    一种快速的方法是根据设备设置值:

    <OnPlatform x:Key="MyTitleFontSize" x:TypeArguments="x:Double">
        <On Platform="UWP">36</On>
        <On Platform="iOS">28</On>
    </OnPlatform>
    
    <Label Text="{Binding FullName}" FontSize="{StaticResource MyTitleFontSize}"/>
    

    我还根据平台设置了其他属性:

    <OnPlatform x:Key="iOSBoldOnly" x:TypeArguments="FontAttributes">
        <On Platform="UWP">None</On>
        <On Platform="iOS">Bold</On>
    </OnPlatform>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-19
      • 2016-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-23
      相关资源
      最近更新 更多