Skip to main content

Crate bevy_ios_safearea

Crate bevy_ios_safearea 

Source
Expand description

§bevy_ios_safearea

Following released Bevy versions crates.io docs.rs discord

Bevy plugin to query ios device safe area insets.

demo

§Features

  • reads safe area on app start
  • easy access via a resource
  • noop on non-ios platforms (no cfgs needed in your app code)
  • pure Rust + objc2 on the iOS side — no Swift Package, no Xcode SPM step

§Instructions

§1. Add the dependency

Plain [dependencies], not target-gated — that’s what “no cfgs needed in your app code” above means. The only iOS-specific bit (objc2-ui-kit) is gated inside this crate’s own Cargo.toml, not the consumer’s.

[dependencies]
bevy_ios_safearea = "0.7"

§2. Setup Plugin in Bevy

Initialize Bevy Plugin:

// request initialisation right on startup
use bevy::prelude::*;
App::new()
    .add_plugins((DefaultPlugins,bevy_ios_safearea::IosSafeAreaPlugin));

Accessing it:

use bevy::prelude::*;
use bevy_ios_safearea::IosSafeArea;

fn bevy_system(safe_area: IosSafeArea) {
    let safe_area_top = safe_area.top();
}

§Our Other Crates

§Bevy version support

bevycrate
0.190.6,0.7,main
0.180.5
0.170.4
0.160.3
0.150.1,0.2

§License

All code in this repository is dual-licensed under either:

at your option. This means you can select the license you prefer.

§Your contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Structs§

IosSafeArea
SystemParam helper allowing to read insets while defaulting to 0 if not available.
IosSafeAreaPlugin
Plugin to query iOS device safe area insets.
IosSafeAreaResource
Resource providing iOS device safe area insets. It is created and added only when there are insets on the running device. It is recommended to access it from systems by using IosSafeArea SystemParam.