分类
如何从期权交易中获利

构建和发布为 macOS 应用

android:versionName -一个字符串值,表示应用程序代码的发布版本,应该向用户显示.该值是一个字符串,因此您可以将应用程序版本描述为 .. 个字符串,or as any other type个绝对或相对版本标识符.

哪个 iOS 应用程序版本内部版本号必须在 App Store 发布时增加

[英] Which iOS app version/build number(s) MUST be incremented upon App Store release?

"Version"CFBundleShortVersionString(String-iOS,OS X)指定Bundle 包的发布版本号,它标识应用程序的已发布迭代.发布版本号是一个由三个周期分隔的整数组成的字符串.

"Build"CFBundleVersion(String-IOS,OS X)指定Bundle 包的内部版本号,该版本号标识Bundle 包的迭代(已发布或未发布).内部版本号应该是由三个非负的、以句点分隔的整数组成的字符串,其中第一个整数大于零.字符串应仅包含数字(0-9)和句点(.)人物.每个整数的前导零被截断并将被忽略(即1.构建和发布为 macOS 应用 02.3等同于1.2.3).此键不可本地化.

"iTunes Connect Version Number":在iTunes Connect上创建应用程序新版本时指定的版本号.

当应用程序的新版本上传到iTunes Connect和/或发布到App Store时,哪个版本/内部版本号是required to be incremented

在应用程序更新之间,"版本" CFBundleShortVersionString 或"构建" CFBundleVersion 能保持不变吗?

Android/Google Play注意事项:

引发这个问题的讨论是,Google Play Store中的Android应用程序的公共"版本"not确实需要增加,并在no way中进行了验证. android:versionName 可以在不同版本、升级、降级之间保持不变,也可以是任意随机字符串,而不是看起来有效的"版本号".

android:versionName -一个字符串值,表示应用程序代码的发布版本,应该向用户显示.

该值是一个字符串,因此您可以将应用程序版本描述为 .. 个字符串,or as any other type个绝对或相对版本标识符.

有什么方法可以在 macOS 机器中为 window(.exe) 构建flutter桌面应用程序?

To compile a desktop 构建和发布为 macOS 应用 app, you must build the 构建和发布为 macOS 应用 app on the targeted platform: build a Windows app on Windows, a macOS app on macOS, and a Linux app on Linux.

You can follow this issue to see if that changes in the future.

作者头像

The short answer is no.

But you can build your app using a windows emulator or doing a windows dualboot with bootcamp.

There is also online services who let you 构建和发布为 macOS 应用 build flutter projects from a github repo but I don't think they can build a windows app.

谷歌发布 Flutter 3.0 构建跨平台应用

Flutter 是一个用 Dart 编程语言构建应用程序的框架,可以在许多不同的桌面和移动平台上运行。 它现在为许多应用程序和游戏提供支持,包括 Google Pay、eBay Motors、Google Stadia、微信等。 尽管它最广泛地用于构建 Android、iPhone 构建和发布为 macOS 应用 和 iPad 应用程序,但也有一些高级桌面应用程序是用 Flutter 编写的,例如 Ubuntu Linux 安装程序。

谷歌今天在其 Google I/O 演示中推出了 Flutter 3,它为使用 Flutter 的应用程序和游戏开发者添加了一些重要功能。 现在完全支持 Linux 和 macOS,除了 Windows(在 1 月被添加到列表中),包括对带有 Apple Silicon (MXNUMX) 芯片组的 Mac 构建和发布为 macOS 应用 的原生支持。 对于那些在家跟踪的人来说,这意味着 Flutter 应用程序可以在 Android、iOS/iPadOS、macOS、Windows、Linux 和 Web 上运行。 诚然,并非所有功能都适用于所有平台——Web 应用程序无法访问您的所有文件,即使它们是使用 Flutter 构建的——但这仍然是一项令人印象深刻的成就。

谷歌强调了 Superlist,一个待办事项和待办事项管理应用程序,作为使用 Flutter 构建的高质量桌面应用程序。 尽管该应用程序目前仅适用于 Mac,但该团队提到他们正在使用相同的代码库构建 Windows、Android 和 iOS 版本。

Flutter 3 还几乎完全支持 Material You,这是大多数运行 Android 12 或更高版本的手机和平板电脑上提供的动态主题功能。 Material 您可以从手机或平板电脑的壁纸和主题生成调色板,现在 Flutter 应用程序可以轻松地在其设计中使用它们。

为了展示 构建和发布为 macOS 应用 Flutter 做游戏的能力,谷歌还在 Flutter 中打造了一款 3D 弹球游戏,可以在网页上运行,并具有在线高分跟踪功能。 您可以在浏览器中播放它,而且非常有趣(尤其是如果您以前在 Windows 上玩过很多 3D Pinball)。

Flutter 现在在所有主要桌面平台上都得到了正式支持,但许多流行的应用程序是否会开始转向它还有待观察。 如今,大多数跨平台桌面应用程序都是使用 Electron 构建的,它使用 JavaScript 和 HTML 等 Web 标准。 Discord、Slack、Visual Studio Code、Skype 和许多其他应用程序都使用 Electron,但该框架多年来一直因其高内存和 CPU 使用率而受到批评——每个 Electron 应用程序本质上都是其自己的 Google Chrome 副本。 构建和发布为 macOS 应用 Flutter 通常似乎比 Electron 使用更少的 CPU 和 RAM,同时提供更快的性能。

Flutter 3.0 正式发布:稳定支持 6 大平台,字节跳动是主要用户

在之前的版本中,Flutter 已经在 iOS 和 Android 之外,新增对 Web 和 Windows 的支持。现在 Flutter 3 增加了对 macOS 和 Linux 应用程序的稳定支持。添加平台支持所需要的可不只是渲染像素,还包括处理新的输入和交互模型、编译和构建支持、可访问性与国际化,以及特定于平台的集成功能。“我们希望帮助大家更灵活地利用底层操作系统,同时根据选择尽量重用原有 UI 和逻辑。”

在 macOS 上,Flutter 支持英特尔与苹果两大芯片家族,提供通用的二进制支持,允许将应用程序打包为这两种架构上的本地可执行文件。在 Linux 方面,Flutter 则与 Canonical 合作推出一种高度集成、同类最佳的开发选项。

此外,Flutter 3 还对众多基础设计做出改进,包括增强性能、支持 Material You 以及其他生产力功能更新。

Sneath 强调,新版本还可在苹果芯片上原生运行并支持开发工作。虽然 Flutter 自发布以来,就一直能够与搭载 M1 芯片的苹果设备兼容,但新版本能够充分利用 Dart 语言对苹果芯片的支持,从而在 M1 设备上加快编译速度、支持 macOS 应用程序的通用二进制文件。

Material Design 3 的开发工作在此版本中也基本完成,允许开发者充分运用这套跨平台设计系统中的动态配色方案和视觉组件更新:

Flutter 由 Dart 语言开发而成,在 Flutter 3 开发周期中,团队为 Dart 完成了削减样板、提高可读性、为 RISC-V 架构提供实验性支持、升级 linter 和更新文档等工作。

Firebase 与 Flutter

应用程序的构建远不止于 UI 框架。应用程序发布者需要一整套工具来完成项目的构建、发布和运营,具体涵盖身份验证、数据存储、云功能和设备测试等服务。目前 Flutter 已经得到众多服务的广泛支持,包括 Sentry、AppWrite 及 AWS Amplify 等。

谷歌提供的应用服务 构建和发布为 macOS 应用 Firebase 也是其中之一。根据 SlashData 开发者基准测试结果,62%的 Flutter 开发者会在应用程序中使用 Firebase。所以在过去几个版本中,开发团队一直与 Firebase 密切配合,希望进一步增强 Flutter 的集成统筹效果。具体包括将 Flutter 的 Firebase 插件升级至 1.0 版本,添加更好的文档和工具,并推出 FlutterFire UI 等新的功能部件、帮助开发者获得可重用的身份验证与配置界面 UI。

到了 3.0 版本,官方宣布 Flutter/Firebase 集成水平进一步提升,**现已支持 Firebase 的全部核心功能。“**我们正在将源代码和文档转移到 Firebase 各主 repo 和站点当中,后续也将继续在 Android 与 iOS 上同步各项 Firebase 支持。”

此外还有一系列重大改进的推进,包括在 Flutter 应用中支持 Crashlytics——Firebase 的流行实时崩溃报告服务。通过 Flutter Crashlytics 插件更新,大家可以实时跟踪严重错误,获得与其他 iOS 和 Android 开发者相同的功能集。其中提供多种重要警报和指标,例如“无崩溃用户”,可帮助大家了解应用程序的实际稳定性。Crashlytics 分析管道也得到升级,改进了 Flutter 崩溃聚类,可帮助大家更快对问题进行分类、优先排序和修复。最后,插件设置流程也被简化了,只需几个步骤就能通过 Dart 代码启动和运行 Crashlytics。

Flutter 休闲游戏工具包

值得一提的是,3.0 版本最重要的方面是谷歌决定通过其休闲游戏工具包、一系列模板和最佳实践、广告积分及云服务来支持休闲游戏开发。

谷歌的 Flutter 团队以前没有尝试过满足游戏开发者的需求,尽管第三方已经沿着这些方向做出了一些努力,最引人注目的是通过 Flame 游戏引擎,它在去年 12 月达到了 1.0 的里程碑。

Sneath 在接受媒体采访时表示,Flame 的目标是比休闲游戏工具包要求更高的那种游戏。

他说:“我们在休闲游戏工具包中试图提供的很多东西都是对 Flame 的补充”,他指的是与苹果的 Game Center 或 Google Play 游戏服务整合等任务。

为了让人们了解 Flutter 作为一个游戏框架的潜力,谷歌开发了一个 Flutter 网页弹球游戏作为演示,由 Firebase 和 Flutter 提供 Web 支持。这款游戏融合了谷歌旗下最受喜爱的四大形象:Flutter 的 Dash、Firebase 的 Sparky、Android 机器人和 Chrome 恐龙,游戏目标就是拿下最高分。

它不会用超现实的球体物理学让你大吃一惊,也不会因为突破了基于浏览器的游戏的界限而让你大吃一惊,但它是一个合格的弹球模拟,并可能有助于说服有抱负的独立游戏开发者使用 Flutter 来创造下一个 Wordle。“我们认为通过这种有趣的方式,能让更多朋友体验到 Flutter 丰富的功能设计。”

超 50 万款应用由 Flutter 构建而成

Sneath 感慨道:“当初我们踏上 Flutter 的探索之旅,目的是希望彻底改变应用程序的开发方式:将 Web 应用的迭代开发模型,与以往游戏软件中的硬件加速图形渲染和像素级控制结合起来。”

他表示,自 Flutter 1.0 beta 发布以来的这四年里,团队逐渐在此基础上修葺打磨,发布更多新的框架功能与功能部件、并与底层平台深入集成,同时带来更丰富的工具包库和性能/工具改进。

如今,市面上有超过 50 万款应用由 Flutter 构建而成,比去年谷歌 I/O 期间的数量多了一倍。官方最近的用户调查显示,Flutter 已经成为开发者喜爱的应用程序构建方案:

91%的开发者认为 Flutter 缩短了应用程序的构建与发布时间。

85%的开发者认为 Flutter 提升了他们应用程序的视觉观感。

85%的开发者认为 Flutter 帮助他们在更多平台上发布应用成果。Sneath 构建和发布为 macOS 应用 在受访中还提到字节跳动是 Flutter 的主要用户,估计其有约 80 个基于 Flutter 的应用。“他们正在真正引领这个多平台的故事,”Sneath 表示,“他们能够统一他们的技能,能够统一他们的开发、基础设施和模式,并触达所有这些不同的平台。”

当被问及 Flutter 开发人员可用的软件包数量相对较少时,Sneath 表示 Flutter 社区一直在加紧填补这一空白,无论是个人还是企业层面。

他说:“像微软和亚马逊这样的公司正在编写插件,而社区也开始联合起来,围绕其他人使用或希望看到的共同软件包汇集他们的资源。我们在 Flutter 生态系统中现在有超过 23000 个包,而且这个数字正在迅速增长,无论是数量还是这些包的质量。”