tauri_plugin_apple_iap/
lib.rs1use tauri::{
2 plugin::{Builder, TauriPlugin},
3 Runtime,
4};
5
6#[cfg(target_os = "macos")]
7mod models;
8
9#[cfg(target_os = "macos")]
10mod macos;
11
12#[cfg(target_os = "ios")]
13tauri::ios_plugin_binding!(init_plugin_apple_iap);
14
15pub fn init<R: Runtime>() -> TauriPlugin<R> {
16 #[allow(unused_mut)]
17 let mut builder = Builder::new("apple-iap");
18
19 #[cfg(target_os = "macos")]
20 {
21 builder = builder.invoke_handler(tauri::generate_handler![
22 macos::list_products,
23 macos::purchase_product,
24 macos::finish_transaction,
25 macos::sync_purchases,
26 macos::current_entitlements
27 ]);
28 }
29
30 builder
31 .setup(|_app, _api| {
32 #[cfg(target_os = "ios")]
33 {
34 let _ = _api.register_ios_plugin(init_plugin_apple_iap)?;
35 }
36 Ok(())
37 })
38 .build()
39}