İlk commit: Stepstead Godot istemci (4.6 Mobile)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
commit
6a1706051d
346 changed files with 14415 additions and 0 deletions
75
native/pedometer-ios/README.md
Normal file
75
native/pedometer-ios/README.md
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
# Stepstead — iOS Pedometer Plugin (CMPedometer)
|
||||
|
||||
Godot 4 iOS plugin. `Pedometer` singleton'ı, `autoload/pedometer.gd` ile aynı
|
||||
sözleşmeyi sağlar: `is_available / start / stop / get_step_count`.
|
||||
|
||||
**Kaynak dosyalar:**
|
||||
- `pedometer.h`, `pedometer.mm` — singleton + CMPedometer mantığı
|
||||
- `pedometer_module.h`, `pedometer_module.mm` — init/deinit (singleton kaydı)
|
||||
- `pedometer.gdip` — plugin config (CoreMotion.framework + NSMotionUsageDescription)
|
||||
|
||||
> ⚠️ CMPedometer **iOS Simulator'da çalışmaz** (`is_available()` = false).
|
||||
> Gerçek cihaz gerekir → **iPhone 13 ile test.**
|
||||
|
||||
---
|
||||
|
||||
## Derleme — godot-ios-plugins harness (Mac, önerilen)
|
||||
|
||||
**Gereksinim:** Mac + Xcode + command line tools + SCons (`brew install scons`).
|
||||
|
||||
```bash
|
||||
# 1. Resmi iOS plugin harness'ını klonla
|
||||
git clone https://github.com/godotengine/godot-ios-plugins.git
|
||||
cd godot-ios-plugins
|
||||
|
||||
# 2. Godot 4.6 başlık dosyalarını üret (godot kaynağını çeker)
|
||||
./scripts/generate_headers.sh 4.6.0.stable # repo README'sindeki sürüm formatı
|
||||
|
||||
# 3. Bu plugin'i plugins/ altına kopyala
|
||||
cp -r /path/Stepstead/native/pedometer-ios plugins/pedometer
|
||||
|
||||
# 4. Derle (arm64, release) — çıktı bin/pedometer.*.a
|
||||
scons target=template_release arch=arm64 plugin=pedometer version=4.6
|
||||
scons target=template_debug arch=arm64 plugin=pedometer version=4.6
|
||||
```
|
||||
|
||||
> SCons komutunun tam imzası harness sürümüne göre değişebilir; repo
|
||||
> README'sini esas al. Çatı `plugins/pedometer/` altındaki tüm `.mm`
|
||||
> dosyalarını otomatik derler.
|
||||
|
||||
---
|
||||
|
||||
## Godot projesine ekleme
|
||||
|
||||
1. Çıktıları projeye koy:
|
||||
```
|
||||
res://ios/plugins/pedometer/pedometer.a
|
||||
res://ios/plugins/pedometer/pedometer.gdip
|
||||
```
|
||||
(`.gdip` zaten bu klasörde — `.a` ile birlikte kopyala.)
|
||||
2. Godot: **Project > Export > iOS** preset'inde **Plugins** sekmesinde
|
||||
`Pedometer` işaretli olmalı.
|
||||
3. `.gdip` `NSMotionUsageDescription`'ı otomatik Info.plist'e ekler.
|
||||
(Apple izni: ilk `start()` çağrısında sistem motion izni sorar.)
|
||||
|
||||
---
|
||||
|
||||
## iPhone 13'e yükleme (gerçek test)
|
||||
|
||||
1. Godot'ta iOS export → Xcode projesi üretir.
|
||||
2. Xcode'da aç → **Signing & Capabilities**'da Apple ID (ücretsiz hesap olur,
|
||||
7 günlük provisioning) ile imzala.
|
||||
3. iPhone 13'ü kabloyla bağla → Xcode'da hedef cihaz seç → **Run**.
|
||||
4. Oyunda login → `Pedometer.start()` (world.gd otomatik çağırır) →
|
||||
sistem "Motion & Fitness" izni sorar → izin ver.
|
||||
5. Telefonu cebe at, yürü → adım bakiyesi 30 sn'de bir `/world/sync-steps`
|
||||
ile artar (sunucu anti-cheat tavanı 250/dk uygular).
|
||||
|
||||
---
|
||||
|
||||
## İleride (enhancement)
|
||||
|
||||
`startPedometerUpdatesFromDate:` uygulama açıkken sayar. Arka planda/kapalıyken
|
||||
atılan adımları toparlamak için `queryPedometerDataFromDate:toDate:withHandler:`
|
||||
ile son sync zamanından şu ana kadarki geçmişi çekmek gerekir (iOS 7 günlük
|
||||
adım geçmişi tutar). MVP'de yok — `get_step_count` sadece oturum sayımı.
|
||||
Loading…
Add table
Add a link
Reference in a new issue