Expand description
§bevy_ios_safearea
Bevy plugin to query ios device safe area insets.

§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_debug_log
- bevy_device_lang
- bevy_web_popups
- bevy_libgdx_atlas
- bevy_ios_iap
- bevy_ios_review
- bevy_ios_gamecenter
- bevy_ios_alerts
- bevy_ios_notifications
- bevy_ios_impact
§Bevy version support
| bevy | crate |
|---|---|
| 0.19 | 0.6,0.7,main |
| 0.18 | 0.5 |
| 0.17 | 0.4 |
| 0.16 | 0.3 |
| 0.15 | 0.1,0.2 |
§License
All code in this repository is dual-licensed under either:
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
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§
- IosSafe
Area - SystemParam helper allowing to read insets while defaulting to 0 if not available.
- IosSafe
Area Plugin - Plugin to query iOS device safe area insets.
- IosSafe
Area Resource - 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
IosSafeAreaSystemParam.