https://github.com/rustunit/bevy_ios_safearea
Bevy plugin to query ios device safe area insets
https://github.com/rustunit/bevy_ios_safearea
bevy gamedev ios mobile rust
Last synced: 4 months ago
JSON representation
Bevy plugin to query ios device safe area insets
- Host: GitHub
- URL: https://github.com/rustunit/bevy_ios_safearea
- Owner: rustunit
- License: apache-2.0
- Created: 2025-01-12T09:08:12.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-01-20T16:12:54.000Z (6 months ago)
- Last Synced: 2025-02-26T05:43:12.605Z (4 months ago)
- Topics: bevy, gamedev, ios, mobile, rust
- Language: Rust
- Homepage: https://crates.io/crates/bevy_ios_safearea
- Size: 721 KB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# bevy_ios_safearea
[](https://bevyengine.org/learn/quick-start/plugin-development/#main-branch-tracking)
[](https://crates.io/crates/bevy_ios_safearea)
[](https://docs.rs/bevy_ios_safearea)
[![discord][sh_discord]][lk_discord][sh_discord]: https://img.shields.io/discord/1176858176897953872?label=discord&color=5561E6
[lk_discord]: https://discord.gg/rQNeEnMhusBevy 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 `cfg`s needed in your app code)## Instructions
1. Add to XCode: Add SPM (Swift Package Manager) dependency
2. Add Rust dependency
3. Setup Plugin### 1. Add to XCode
* Go to `File` -> `Add Package Dependencies` and paste `https://github.com/rustunit/bevy_ios_safearea.git` into the search bar on the top right:
### 2. Add Rust dependency
```sh
cargo add bevy_ios_safearea
```or
```toml
# always pin to the same exact version you also of the Swift package
bevy_ios_safearea = { version = "=0.2.0" }
```### 3. Setup Plugin in Bevy
Initialize Bevy Plugin:
```rust
// request initialisation right on startup
use bevy::prelude::*;
App::new()
.add_plugins((DefaultPlugins,bevy_ios_safearea::IosSafeAreaPlugin));
```Accessing it:
```rust
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](https://github.com/rustunit/bevy_debug_log)
- [bevy_device_lang](https://github.com/rustunit/bevy_device_lang)
- [bevy_web_popups](https://github.com/rustunit/bevy_web_popups)
- [bevy_libgdx_atlas](https://github.com/rustunit/bevy_libgdx_atlas)
- [bevy_ios_iap](https://github.com/rustunit/bevy_ios_iap)
- [bevy_ios_review](https://github.com/rustunit/bevy_ios_review)
- [bevy_ios_gamecenter](https://github.com/rustunit/bevy_ios_gamecenter)
- [bevy_ios_alerts](https://github.com/rustunit/bevy_ios_alerts)
- [bevy_ios_notifications](https://github.com/rustunit/bevy_ios_notifications)
- [bevy_ios_impact](https://github.com/rustunit/bevy_ios_impact)## Bevy version support
|bevy|crate|
|----|---|
|0.15|0.1,0.2,main|# License
All code in this repository is dual-licensed under either:
- MIT License (LICENSE-MIT or )
- Apache License, Version 2.0 (LICENSE-APACHE or )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.