このリポジトリは、Android版 BeastLocator をもとにした非公式のiOS移植版です。
親プロジェクト: https://github.com/Link2011-Act2/BeastLocator
これを読んでいるならば、野獣邸、という言葉を絶対に一度は聞いたことがあると思います
このアプリを使えば、その聖地への方角をすぐに知ることができるゾ
「こ↑こ↓」
「はえ~、すっごい大きい…」
野獣邸の方角を知れる、ただそれだけのアプリです
野獣邸は基本的に、聖地巡礼することはタブーとされており、実際野獣の日に来るなという公式の声明も出ています
そんな野獣邸を身近に感じたかったので、このアプリをiOS 16.4以降向けにSwiftで移植しました
- 野獣邸への方角・距離表示
- 野獣邸までの直線距離を表示するホーム画面ウィジェット
- Live Activity による到達状況表示
- 野獣邸到達時の通知
- 一定の距離に達した際の音声再生
- iOS / iPadOS 16.4以降
- 日本語(ja)
- 英語(en)
- 簡体字中国語(zh-Hans)
さすがに野獣邸に実際に行って動作確認するのはまずいので、デバッグメニューから目的地の座標を変更できるようにしています
Stableビルドでは隠し機能とする予定ですが、Beta では設定画面からデバッグメニューを有効にできるようにしています
Xcode を使わず、xtool で IPA を生成します。
| ツール | 用途 |
|---|---|
xtool |
IPA ビルド・署名 |
python3 |
AppVariantConfig.swift 生成(plistlib を使用) |
rsync |
ステージングワークスペースへのコピー |
plutil |
plist 書き換え |
make |
ビルドコマンドの実行 |
xtool のインストールについては 公式サイト を参照してください。
| バリアント | 用途 |
|---|---|
trollstore |
TrollStore でインストールする場合 |
sideload |
AltStore / SideStore / 通常証明書 / LiveContainer でインストールする場合 |
sideload 版は、通常のサイドロードで使えない App Group entitlement と Widget 拡張を完全に除外した構成です。iOS 17 以降で「整合性を確認できませんでした」になる問題や LiveContainer でのクラッシュを回避します。
# TrollStore 用 IPA をビルド
make trollstore
# サイドロード用 IPA をビルド
make sideload生成された IPA は以下に出力されます:
xtool/BeastLocator-trollstore.ipaxtool/BeastLocator-sideload.ipa
sideload 版は bundle ID を jp.linkserver.beastlocatorios.sideload、表示名を BeastLocator SL に切り替えて生成します。
そのため、TrollStore 版とサイドロード版を同じ端末へ共存インストールしやすくしています。
# ステージングワークスペースだけ生成(ビルドはしない)
make prepare-trollstore
make prepare-sideload
# ステージングワークスペースを削除
make clean-variants
# ヘルプを表示
make helpステージングワークスペースは .build/variants/<variant>/workspace に生成されます。
prepare-* コマンドで中身を確認してから make trollstore / make sideload でビルドすることもできます。
| 変数 | デフォルト | 説明 |
|---|---|---|
CONFIGURATION |
release |
ビルド構成(debug / release) |
XTOOL |
xtool |
xtool バイナリのパスまたはコマンド名 |
# デバッグビルドの例
make sideload CONFIGURATION=debug
# xtool のパスを指定する例
make trollstore XTOOL=/usr/local/bin/xtool| 項目 | trollstore |
sideload |
|---|---|---|
| Bundle ID | jp.linkserver.beastlocatorios |
jp.linkserver.beastlocatorios.sideload |
| App Group entitlement | ✅ あり | ❌ なし |
| Widget 拡張 | ✅ あり | ❌ なし(Package.swift・ソースごと除去) |
| Live Activity | ✅ あり | ❌ なし |
| UserDefaults | App Group 共有 | .standard フォールバック |
各 variant では Config/*.plist / Config/*.entitlements だけでなく、Sources/BeastLocatorShared/AppVariantConfig.swift と Package.swift もステージング側で生成し直します。サイドロード版では Widget / App Group / Live Activity を誤って再有効化しにくい構成にしています。
xtool dev build --ipa従来どおり単体で xtool dev build --ipa を叩くと、リポジトリの xtool.yml と Config/App.entitlements をそのまま使うため、実質的には TrollStore 向けに近い構成になります。サイドロードで使う場合は必ず make sideload を使ってください。
- 親プロジェクト / オリジナルAndroid版: https://github.com/Link2011-Act2/BeastLocator
- iOS移植版: tqmane
そんなもんはないです
iOS版のスクリーンショットは準備中です