Skip to content

Commit 3d76954

Browse files
Merge branch 'tauri-apps:v2' into v2
2 parents db5e867 + 626ef59 commit 3d76954

File tree

10 files changed

+764
-8
lines changed

10 files changed

+764
-8
lines changed

src/content/docs/distribute/Sign/macos.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Code signing is required on macOS to allow your application to be listed in the
1010

1111
## Prerequisites
1212

13-
Code signing on macOS requires an [Apple Developer] account which is either paid (99$ per year) or on the free plan. You also need an Apple device where you perform the code signing. This is required by the signing process and due to Apple's Terms and Conditions.
13+
Code signing on macOS requires an [Apple Developer] account which is either paid (99$ per year) or on the free plan (only for testing and development purposes). You also need an Apple device where you perform the code signing. This is required by the signing process and due to Apple's Terms and Conditions.
1414

1515
:::note
1616
Note when using a free Apple Developer account, you will not be able to notarize your application and it will still show up as not verified when opening the app.
Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
---
2+
title: Inicio automático
3+
description: Inicia automáticamente tu aplicación al arrancar el sistema.
4+
plugin: autostart
5+
i18nReady: true
6+
---
7+
8+
import PluginLinks from '@components/PluginLinks.astro';
9+
import Compatibility from '@components/plugins/Compatibility.astro';
10+
11+
import { Tabs, TabItem, Steps } from '@astrojs/starlight/components';
12+
import CommandTabs from '@components/CommandTabs.astro';
13+
import PluginPermissions from '@components/PluginPermissions.astro';
14+
15+
<PluginLinks plugin={frontmatter.plugin} />
16+
17+
Inicia automáticamente tu aplicación al arrancar el sistema.
18+
19+
## Plataformas compatibles
20+
21+
<Compatibility plugin={frontmatter.plugin} />
22+
23+
## Configuración
24+
25+
Instala el plugin de autostart para comenzar.
26+
27+
<Tabs>
28+
<TabItem label="Automático">
29+
30+
Usa el gestor de paquetes de tu proyecto para añadir la dependencia:
31+
32+
{' '}
33+
34+
<CommandTabs
35+
npm="npm run tauri add autostart"
36+
yarn="yarn run tauri add autostart"
37+
pnpm="pnpm tauri add autostart"
38+
deno="deno task tauri add autostart"
39+
bun="bun tauri add autostart"
40+
cargo="cargo tauri add autostart"
41+
/>
42+
43+
</TabItem>
44+
<TabItem label="Manual">
45+
<Steps>
46+
47+
1. Ejecuta el siguiente comando en la carpeta `src-tauri` para añadir el plugin a las dependencias del proyecto en `Cargo.toml`:
48+
49+
```sh frame=none
50+
cargo add tauri-plugin-autostart --target 'cfg(any(target_os = "macos", windows, target_os = "linux"))'
51+
```
52+
53+
2. Modifica `lib.rs` para inicializar el plugin:
54+
55+
```rust title="src-tauri/src/lib.rs" ins={5-6}
56+
#[cfg_attr(mobile, tauri::mobile_entry_point)]
57+
pub fn run() {
58+
tauri::Builder::default()
59+
.setup(|app| {
60+
#[cfg(desktop)]
61+
app.handle().plugin(tauri_plugin_autostart::init(tauri_plugin_autostart::MacosLauncher::LaunchAgent, Some(vec!["--flag1", "--flag2"]) /* arbitrary number of args to pass to your app */));
62+
Ok(())
63+
})
64+
.run(tauri::generate_context!())
65+
.expect("error al ejecutar la aplicación tauri");
66+
}
67+
```
68+
69+
3. Puedes instalar los enlaces de JavaScript Guest utilizando tu gestor de paquetes de JavaScript preferido:
70+
71+
<CommandTabs
72+
npm="npm install @tauri-apps/plugin-autostart"
73+
yarn="yarn add @tauri-apps/plugin-autostart"
74+
pnpm="pnpm add @tauri-apps/plugin-autostart"
75+
deno="deno add npm:@tauri-apps/plugin-autostart"
76+
bun="bun add @tauri-apps/plugin-autostart"
77+
/>
78+
79+
</Steps>
80+
</TabItem>
81+
82+
</Tabs>
83+
84+
## Uso
85+
86+
El plugin de autostart está disponible tanto en JavaScript como en Rust.
87+
88+
<Tabs syncKey="lang">
89+
<TabItem label="JavaScript">
90+
91+
```javascript
92+
import { enable, isEnabled, disable } from '@tauri-apps/plugin-autostart';
93+
// si utilizas `"withGlobalTauri": true`, deberías usar
94+
// const { enable, isEnabled, disable } = window.__TAURI__.autostart;
95+
96+
// Activar el arranque automático
97+
await enable();
98+
// Comprobar el estado de activación
99+
console.log(`registered for autostart? ${await isEnabled()}`);
100+
// Desactivar el arranque automático
101+
disable();
102+
```
103+
104+
</TabItem>
105+
<TabItem label="Rust">
106+
107+
```rust
108+
#[cfg_attr(mobile, tauri::mobile_entry_point)]
109+
pub fn run() {
110+
tauri::Builder::default()
111+
.setup(|app| {
112+
#[cfg(desktop)]
113+
{
114+
use tauri_plugin_autostart::MacosLauncher;
115+
use tauri_plugin_autostart::ManagerExt;
116+
117+
app.handle().plugin(tauri_plugin_autostart::init(
118+
MacosLauncher::LaunchAgent,
119+
Some(vec!["--flag1", "--flag2"]),
120+
));
121+
122+
// Obtener el gestor de arranque automático
123+
let autostart_manager = app.autolaunch();
124+
// Activar el arranque automático
125+
let _ = autostart_manager.enable();
126+
// Comprobar el estado de activación
127+
println!("registered for autostart? {}", autostart_manager.is_enabled().unwrap());
128+
// Desactivar el arranque automático
129+
let _ = autostart_manager.disable();
130+
}
131+
Ok(())
132+
})
133+
.run(tauri::generate_context!())
134+
.expect("error al ejecutar la aplicación tauri");
135+
}
136+
```
137+
138+
</TabItem>
139+
</Tabs>
140+
141+
## Permisos
142+
143+
Por defecto, todos los comandos y ámbitos de plugin potencialmente peligrosos están bloqueados y no se pueden acceder. Debes modificar los permisos en tu configuración de `capabilities` para habilitar estos.
144+
145+
Consulta la [Descripción general de capacidades](/es/security/capabilities/) para obtener más información y la [guía paso a paso](/es/learn/security/using-plugin-permissions/) para utilizar los permisos de plugin.
146+
147+
```json title="src-tauri/capabilities/default.json"
148+
{
149+
"permissions": [
150+
...,
151+
"autostart:allow-enable",
152+
"autostart:allow-disable",
153+
"autostart:allow-is-enabled"
154+
]
155+
}
156+
```
157+
158+
<PluginPermissions plugin={frontmatter.plugin} />
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
---
2+
title: Escáner de códigos de barras
3+
description: Permite que tu aplicación móvil utilice la cámara para escanear códigos QR, EAN-13 y otros tipos de códigos de barras.
4+
sidebar:
5+
badge:
6+
text: Nuevo
7+
variant: tip
8+
plugin: barcode-scanner
9+
i18nReady: true
10+
---
11+
12+
import PluginLinks from '@components/PluginLinks.astro';
13+
import Compatibility from '@components/plugins/Compatibility.astro';
14+
15+
import { Tabs, TabItem, Steps } from '@astrojs/starlight/components';
16+
import CommandTabs from '@components/CommandTabs.astro';
17+
import PluginPermissions from '@components/PluginPermissions.astro';
18+
19+
<PluginLinks plugin={frontmatter.plugin} />
20+
21+
Permite que tu aplicación móvil utilice la cámara para escanear códigos QR, EAN-13 y otros tipos de códigos de barras.
22+
23+
## Plataformas compatibles
24+
25+
<Compatibility plugin={frontmatter.plugin} />
26+
27+
## Instalación
28+
29+
Instala el plugin de escáner de códigos de barras para comenzar.
30+
31+
<Tabs>
32+
<TabItem label="Automático">
33+
34+
Usa el gestor de paquetes de tu proyecto para añadir la dependencia:
35+
36+
{' '}
37+
38+
<CommandTabs
39+
npm="npm run tauri add barcode-scanner"
40+
yarn="yarn run tauri add barcode-scanner"
41+
pnpm="pnpm tauri add barcode-scanner"
42+
deno="deno task tauri add barcode-scanner"
43+
bun="bun tauri add barcode-scanner"
44+
cargo="cargo tauri add barcode-scanner"
45+
/>
46+
47+
</TabItem>
48+
<TabItem label="Manual">
49+
<Steps>
50+
51+
1. Ejecuta el siguiente comando en la carpeta `src-tauri` para añadir el plugin a las dependencias del proyecto en `Cargo.toml`:
52+
53+
```sh frame=none
54+
cargo add tauri-plugin-barcode-scanner --target 'cfg(any(target_os = "android", target_os = "ios"))'
55+
```
56+
57+
2. Modifica `lib.rs` para inicializar el plugin:
58+
59+
```rust title="src-tauri/src/lib.rs" ins={5-6}
60+
#[cfg_attr(mobile, tauri::mobile_entry_point)]
61+
pub fn run() {
62+
tauri::Builder::default()
63+
.setup(|app| {
64+
#[cfg(mobile)]
65+
app.handle().plugin(tauri_plugin_barcode_scanner::init());
66+
Ok(())
67+
})
68+
.run(tauri::generate_context!())
69+
.expect("error al ejecutar la aplicación tauri");
70+
}
71+
```
72+
73+
3. Instala los enlaces de JavaScript Guest utilizando tu gestor de paquetes de JavaScript preferido:
74+
75+
<CommandTabs
76+
npm="npm install @tauri-apps/plugin-barcode-scanner"
77+
yarn="yarn add @tauri-apps/plugin-barcode-scanner"
78+
pnpm="pnpm add @tauri-apps/plugin-barcode-scanner"
79+
deno="deno add npm:@tauri-apps/plugin-barcode-scanner"
80+
bun="bun add @tauri-apps/plugin-barcode-scanner"
81+
/>
82+
83+
</Steps>
84+
85+
</TabItem>
86+
</Tabs>
87+
88+
## Configuración
89+
90+
En iOS, el plugin de escáner de códigos de barras requiere el valor de la propiedad de lista de información `NSCameraUsageDescription`, que debe describir por qué tu aplicación necesita utilizar la cámara.
91+
92+
En el archivo `src-tauri/Info.ios.plist`, añade el siguiente fragmento:
93+
94+
```xml title=src-tauri/Info.ios.plist
95+
<?xml version="1.0" encoding="UTF-8"?>
96+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
97+
<plist version="1.0">
98+
<dict>
99+
<key>NSCameraUsageDescription</key>
100+
<string>Leer códigos QR</string>
101+
</dict>
102+
</plist>
103+
```
104+
105+
## Uso
106+
107+
El plugin de escáner de códigos de barras está disponible en JavaScript.
108+
109+
```javascript
110+
import { scan, Format } from '@tauri-apps/plugin-barcode-scanner';
111+
// cuando uses `"withGlobalTauri": true`, deberías usar
112+
// const { scan, Format } = window.__TAURI__.barcodeScanner;
113+
114+
// `windowed: true` en realidad establece la vista web en transparente
115+
// en lugar de abrir una vista separada para la cámara
116+
// asegúrate de que tu interfaz de usuario esté lista para mostrar lo que hay debajo con un elemento transparente
117+
scan({ windowed: true, formats: [Format.QRCode] });
118+
```
119+
120+
## Permisos
121+
122+
Por defecto, todos los comandos y ámbitos de plugin potencialmente peligrosos están bloqueados y no se pueden acceder. Debes modificar los permisos en tu configuración de `capabilities` para habilitar estos.
123+
124+
Consulta la [Descripción general de capacidades](/es/security/capabilities/) para obtener más información y la [guía paso a paso](/es/learn/security/using-plugin-permissions/) para utilizar los permisos de plugin.
125+
126+
```json title="src-tauri/capabilities/mobile.json"
127+
{
128+
"$schema": "../gen/schemas/mobile-schema.json",
129+
"identifier": "mobile-capability",
130+
"windows": ["main"],
131+
"platforms": ["iOS", "android"],
132+
"permissions": ["barcode-scanner:allow-scan", "barcode-scanner:allow-cancel"]
133+
}
134+
```
135+
136+
<PluginPermissions plugin={frontmatter.plugin} />

0 commit comments

Comments
 (0)