Bevy plugin to query ios device safe area insets.
- 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
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"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();
}- 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 | 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 |
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.
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.
