tauri2.0bate版本支持移动端开发了,ios和android开发有福了

Tauri 是一个开源框架,用于构建轻量级、高性能的桌面应用程序。它是使用 Web 技术(如 HTML、CSS 和 JavaScript)来创建用户界面,同时利用 Rust 语言提供的api功能。Tauri 的目标是提供一种更高效、更安全的方式来开发跨平台的桌面应用程序。

Tauri1.0版本已经非常完善的支持所有桌面端了,现在的2.0已经开始测试移动端开发了,我们可以提前尝鲜一下。

安装Tauri2.0

安装最新版本的tauri,才可以创建移动端工程

pnpm create tauri-app --beta或者npm create tauri-app@latest -- --beta或者yarn create tauri-app --beta或者cargo install create-tauri-app
cargo create-tauri-app --beta

初始化移动端工程

默认只会支持运行桌面端,想要支持移动端,就要先生成移动端公工程。要先运行init初始化,然后才可以开启dev或者build移动端代码。下面的代码如果有使用npm或者yarn或者pnpm,就需要在开头加上npm run 或者 yarn run 或者 pnpm run 命令。

初始化移动端:

// ios初始化
npm run tauri ios init// andriod初始化
npm run tauri android init

运行提示:

可能会需要安装cocoapods 或者更新一些依赖,按照提示安装或者更新就好了,看到Make cool apps! 🌻 🐕 🎉就说明成功了

> tauri-all@0.0.0 ios init /Users/song/Project/my/tauri-all
> tauri ios init

    Info detected rustc version 1.76.0 (07dca489a 2024-2-4)
/opt/homebrew/bin/xcodegen
    Info package `xcodegen` present: true
/opt/homebrew/bin/idevicesyslog
    Info package `libimobiledevice` present: true
/usr/local/bin/pod
    Info package `cocoapods` present: true
Outdated dependencies:
  - `xcodegen` is at 2.39.1; latest version is 2.40.1
Would you like these outdated dependencies to be updated for you? [Y/n]: Y

/opt/homebrew/Cellar/xcodegen/2.39.1/bin/xcodegen
/opt/homebrew/Cellar/xcodegen/2.39.1/share/xcodegen/ (31 files)
==> Fetching xcodegen
==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/xcodegen-2.40.1.arm64_sonoma.bottle.tar.gz
######################################################################################################### 100.0%
==> Reinstalling xcodegen 
==> Pouring xcodegen-2.40.1.arm64_sonoma.bottle.tar.gz
🍺  /opt/homebrew/Cellar/xcodegen/2.40.1: 37 files, 7.6MB
==> Running `brew cleanup xcodegen`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
Removing: /Users/song/Library/Caches/Homebrew/xcodegen--2.39.1... (2.3MB)
    Info "/Users/song/Project/my/tauri-all/src-tauri" relative to "/Users/song/Project/my/tauri-all/src-tauri/gen/apple" is "../../"
Generating Xcode project...
⚙️  Generating plists...
⚙️  Generating project...
⚙️  Writing project...
Created project at /Users/song/Project/my/tauri-all/src-tauri/gen/apple/tauri-all.xcodeproj
victory: Project generated successfully!
    Make cool apps! 🌻 🐕 🎉
 *  终端将被任务重用,按任意键关闭。  

运行完会在项目路径下生成apple工程:

 

 

运行移动端工程

需要先运行上一步的init操作,才可以运行这一步哦,不然会报错提示的

// ios dev
npm run tauri ios dev// android dev
npm run tauri android dev

第一次如果运行报错:说明需要初始化ios工程

> tauri-all@0.0.0 ios /Users/song/Project/my/tauri-all
> tauri ios dev

/opt/homebrew/bin/ios-deploy
    Info package `ios-deploy` present: true
Detected iOS simulators:
  [0] Apple Vision Pro
  [1] iPad (10th generation)
  [2] iPad Air (5th generation)
  [3] iPad Pro (11-inch) (4th generation)
  [4] iPad Pro (12.9-inch) (6th generation)
  [5] iPad mini (6th generation)
  [6] iPhone 15
  [7] iPhone 15 Plus
  [8] iPhone 15 Pro
  [9] iPhone 15 Pro Max
  [10] iPhone SE (3rd generation)
  Enter an index for a simulator above.
Simulator: 6
    Info Starting simulator iPhone 15
    Error Xcode project directory /Users/song/Project/my/tauri-all/src-tauri/gen/apple doesn't exist. Please run `tauri ios init` and try again.

 ELIFECYCLE  Command failed with exit code 1.

打包移动端

移动端编译命令如下:

// ios
npm run tauri ios build// android
npm run tauri android build

运行效果:

配置package.json

将以上命令配置到package.json里面,就可以很方便的运行相关的命令了: 

    "scripts": {"dev": "vite","build": "vue-tsc --noEmit && vite build","preview": "vite preview","tauri": "tauri dev","ios init": "tauri ios init","ios dev": "tauri ios dev","ios build": "tauri ios build","android init": "tauri android init","android dev": "tauri android dev","android build": "tauri android build"},

错误问题解决

1.如果运行出现提示:

> tauri-all@0.0.0 dev /Users/song/Project/my/tauri-all
> vite
  VITE v5.2.11  ready in 148 ms

  ➜  Local:   http://localhost:1420/
  ➜  Network: use --host to expose
    Warn Waiting for your frontend dev server to start on http://192.168.1.18:1420/...
    Warn Waiting for your frontend dev server to start on http://192.168.1.18:1420/...

说明需要开启本地ip服务,在vite.config.ts里面添加:host: '0.0.0.0',

然后再开启服务,就没有这个提示了。

2.ios以失败告终☹️

> tauri-all@0.0.0 tauri /Users/song/Project/my/tauri-all
> tauri dev "ios" "xcode-script" "-v" "--platform" "iOS" "Simulator" "--sdk-root" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.4.sdk" "--framework-search-paths" "/Users/song/Library/Developer/Xcode/DerivedData/tauri-all-hclwbtkmftykqbcxwjkykkdptclq/Build/Products/debug-iphonesimulator  \".\"" "--header-search-paths" "/Users/song/Library/Developer/Xcode/DerivedData/tauri-all-hclwbtkmftykqbcxwjkykkdptclq/Build/Products/debug-iphonesimulator/include " "--gcc-preprocessor-definitions" " DEBUG=1" "--configuration" "debug" "arm64-sim"

    Running BeforeDevCommand (`pnpm dev`)
error: unexpected argument 'ios' found

Usage: cargo build [OPTIONS]

For more information, try '--help'.
    Info Watching /Users/song/Project/my/tauri-all/src-tauri for changes...
 ELIFECYCLE  Command failed with exit code 1.

note: Run script build phase 'Build Rust Code' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'tauri-all_iOS' from project 'tauri-all')
** BUILD FAILED **


The following build commands failed:
        PhaseScriptExecution Build\ Rust\ Code /Users/song/Library/Developer/Xcode/DerivedData/tauri-all-hclwbtkmftykqbcxwjkykkdptclq/Build/Intermediates.noindex/tauri-all.build/debug-iphonesimulator/tauri-all_iOS.build/Script-A4488FA325FA75FF5FA88F9C.sh (in target 'tauri-all_iOS' from project 'tauri-all')
(1 failure)
    Error command ["xcodebuild"] exited with code 65

 ELIFECYCLE  Command failed with exit code 1.
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/11495.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

26.特殊类的设计(设计不能被拷贝的类、只能在堆上创建对象的类、只能在栈上创建对象的类、不能被继承的类/只能创建一个对象(单例模式))

1.设计一个类,不能被拷贝 拷贝只会发生在两个场景中:拷贝构造函数以及赋值运算符重载 因此想要让一个类禁止拷贝,只需让该类不能调用拷贝构造函数以及赋值运算符重载即可。 方式一:C98中, 将拷贝构造函数与赋值运算符…

OpenAI 或将推出多模态人工智能数字助理;研究发现部分 AI 系统已学会「说谎」丨 RTE 开发者日报 Vol.203

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

技术支持-KA指标提升

一 提升关键客户(Key Account, KA)问题解决效率与体验 建立快速响应机制: 设立专门的KA服务团队,确保客户问题能被即时接收和响应。实施多渠道接入(如电话、短信、邮件、在线聊天等),让客户可以…

黄啤:醇厚与经典的传承

啤酒的历史悠久,种类繁多,而黄啤作为其中的一种经典风格,一直备受人们的喜爱。Fendi club黄啤作为精酿啤酒的代表,完善地传承了黄啤的醇厚与经典,为消费者带来了与众不同的口感体验。 Fendi club黄啤在酿造过程中&…

【C++风云录】深度剖析:人体解剖学与医学影像处理

计算机视觉与医学成像:六种工具的比较 前言 本文旨在通过详尽而深入的介绍,让读者更好地理解和使用六种重要的程序库:ITK-SNAP、Slicer、VTK、OpenCV、dcm4che以及DCMTK。每一个程序库的部分均包含了它们的简介,安装方法&#x…

转移插槽笔记

4.3.4.转移插槽 我们要将num存储到7004节点,因此需要先看看num的插槽是多少: 如上图所示,num的插槽为2765. 我们可以将0~3000的插槽从7001转移到7004,命令格式如下: 具体命令如下: 建立连接:…

消息 队列

使用消息队列实现的2个终端之间的互相聊天,并使用信号控制消息队列的读取方式。 当键盘按ctrlc的时候,切换消息读取方式,一般情况为读取指定编号的消息,按ctrlc之后,指定的编号不读取,读取其他所有编号的消…

【C++ 】红黑树

1.1 红黑树的概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或 Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路 径会比其他路径长出俩倍&#xff…

信息系统安全选择题 1-10章 汇总【太原理工大学】

第一章 1.信息未经授权不能改变的安全特性称为_D b.有效性 a.保密性 d.完整性 c.可控性 2.信息系统防止信息非法泄露的安全特性称为_D b.有效性 a.完整性 d.保密性 c.可控性 6.《国际通用信息安全评价标准ISO/IEC 15408》在安全保证要求中定义了7个评价保证等级&…

上海理工大学程序设计 D方块游戏

原题链接&#xff1a;D-方块游戏 本来以为是搜索&#xff0c;没想到是数学。 //冷静&#xff0c;冷静&#xff0c;冷静 //调不出来就重构 #pragma GCC optimize(2) #pragma GCC optimize("O3") #include<bits/stdc.h> #define endl \n using namespace std;…

R语言:肿瘤突变负荷分析

> merge_maf <- function(metadata, path){ #通过合并path,还有sample sheet前两列得到每一个文件的完整路径 filenames <- file.path(path, metadata$file_id, metadata$file_name, fsep .Platform$file.sep) message (##############…

Vulnhub-wp 获取vulnhub靶机wp搜索工具

项目地址:https://github.com/MartinxMax/vulnhub-wp 简介 搜索Vulnhub平台的解题文章,之过滤返回出正确可访问的页面 使用 $ python3 vulnhubwp.py 支持模糊搜索 [] Query: kiop 进入选项4,获取wp地址 [] Choice options: 4

DML之操作数据表

1. 插入数据 (1). 前言 前文我们实现了如果创建表&#xff0c;接下来我们将学习如何向数据表中插入数据.插入有两种方式. (2). 方式1 : 情况1 : 使用该语法一次只能向表中插入一条记录.为表中的任意字段按默认的顺序插入数据.值列表中需要为表的每一个字段指定值.并且值…

网络库-libevent介绍

1.简介 libevent是一个事件驱动的网络库&#xff0c;主要用于构建可扩展的网络服务器。它提供了跨平台的API&#xff0c;支持多种事件通知机制&#xff0c;如select、poll、epoll、kqueue等。 主要组件 event: 表示一个具体的事件&#xff0c;包括事件类型、事件回调等。eve…

视觉检测系统,是否所有产品都可以进行视觉检测?

视觉检测系统作为一种先进的质检工具&#xff0c;虽然具有广泛的应用范围&#xff0c;但并非所有产品都适合进行视觉检测。本文将探讨视觉检测系统的适用范围及其局限性。 随着机器视觉技术的快速发展&#xff0c;视觉检测系统已广泛应用于各个行业&#xff0c;为产品质检提供…

【网络安全入门】你必须要有的学习工具(附安装包)零基础入门到进阶,看这一篇就够了!

工欲善其事必先利其器 在新入门网络安全的小伙伴而言。这些工具你必须要有所了解。本文我们简单说说这些网络安全工具吧&#xff01; Web安全类 Web类工具主要是通过各种扫描工具&#xff0c;发现web站点存在的各种漏洞如sql注入、xss等。从而获取系统权限&#xff0c;常用的…

iZotope RX 11 for Mac:音频修复的终极利器

在音频制作的浩瀚星海中&#xff0c;每一份声音都是珍贵的宝石&#xff0c;但往往被各种噪音、杂音所掩盖。此刻&#xff0c;iZotope RX 11 for Mac犹如一位专业的匠人&#xff0c;以其精湛的技术&#xff0c;将每一份声音雕琢至完美。 iZotope RX 11 for Mac&#xff0c;这是…

创新点!CNN与LSTM结合,实现更准预测、更快效率、更高性能!

推荐一个能发表高质量论文的好方向&#xff1a;LSTM结合CNN。 LSTM擅长捕捉序列数据中的长期依赖关系&#xff0c;而CNN则擅长提取图像数据的局部特征。通过结合两者的优势&#xff0c;我们可以让模型同时考虑到数据的时序信息和空间信息&#xff0c;减少参数降低过拟合风险&a…

MySQL—子查询

目录 ▐ 子查询概述 ▐ 准备工作 ▐ 标量子查询 ▐ 列子查询 ▐ 表子查询 ▐ 多信息嵌套 ▐ 子查询概述 • 子查询也称嵌套查询&#xff0c;即在一个查询语句中又出现了查询语句 • 子查询可以出现在from 后面 或where后面 • 出现在 from 后称表子查询&#xff0c;结…

远程终端协议TELNET

一、概述 TELNET是一个简单的远程终端协议&#xff0c;是互联网正式标准。 实现在本地对远程计算机进行操作&#xff1b;在本地键盘输入的字符通过应用层TELNET协议传输到远程服务器上&#xff0c;同时远程服务器把字符传送过来显示在本地的显示器上&#xff1b;TELNET协议采…