尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Neocom iOS Application
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A companion app for EVE Online for iPhone, iPad and Mac (Mac Catalyst), written in SwiftUI. More at getneocom.com.
git clone https://github.com/artem-shimanski/Neocom.git
cd Neocom
The app reads the EVE static data export (SDE) from SQLite files that are not in git — the
build-sde package plugin generates them. The wrapper does it all in one go:
Packages/SDE/Scripts/update-sde.sh # optionally followed by language codes, e.g. en ru
It takes the SDE build that DogmaKit was imported from, downloads it into a shared cache
($EVE_SDE_CACHE, default ~/Library/Caches/EVE-SDE), links Packages/SDE/.SDE to it and runs
build-sde; --check only reports what is cached and linked. To do the same by hand, the plugin
needs the SDE dump in JSONL format:
Packages/SDE/.SDE (the folder must contain _sde.jsonl).
A different location can be set in Packages/SDE/.sde-config.json ("sde") or passed with --sde <path>.Packages/SDE/.icons/items; without them the
build only prints a warning.cd Packages/SDE
swift package --allow-writing-to-package-directory build-sde
In Xcode the same is available from the context menu of the SDE package (BuildSDE). Pass
language codes to build a subset, which is much faster while developing:
... build-sde en ru. The plugin writes sde.sqlite and one text-<lang>.sqlite per language
into Packages/SDE/Sources/SDEData*/Data. Without them the app traps on launch.
If swift on your PATH is older than 6.4, run it through the Xcode 27 toolchain
(DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer xcrun swift ...).
Open Neocom.xcworkspace and run the Neocom scheme. The GitHub packages ship Swift macros and
the SDE package a build-tool plugin, so Xcode asks to trust them on first build. The plugin fails
the build when the databases come from a different SDE build than DogmaKit. From the command line:
xcodebuild -workspace Neocom.xcworkspace -scheme Neocom \
-destination 'generic/platform=iOS Simulator' -skipMacroValidation -skipPackagePluginValidation build
Signing in with EVE SSO works out of the box only for the official build — see below for running your own copy.
The bundled identifiers belong to the official App Store build. To run a fork you need your own:
eveauth-neocom://sso, and the scopes listed in
SSOConfiguration.scopes. Put its Client ID into SSOConfiguration.clientID
(Neocom/Neocom/Services/SSO/SSOConfiguration.swift). The app is a public client:
authorization code flow with PKCE, no secret. If you change the callback, change
SSOConfiguration.callbackURL to match.com.shimanski.neocom (app) and com.shimanski.neocom.widgets
(widget extension), in the Xcode project.DEVELOPMENT_TEAM (project signing settings) to your own team.group.com.shimanski.neocom in Neocom/Neocom.entitlements and
Neocom/NeocomWidgets.entitlements; the app and the widgets share the skill-queue snapshot
through it.iCloud.com.shimanski.neocom in Neocom/Neocom.entitlements
(CloudKit sync of the player's fits).Neocom/Neocom/Services/Store/TipConfiguration.swift and
Neocom/Tips.storekit (also its appStoreID), or remove the Support screen.ESIService.userAgent in Neocom/Neocom/Services/ESI/ESIService.swift.Changing SSOConfiguration.scopes invalidates stored refresh tokens: characters have to sign in
again.
Neocom/
Neocom/ the app: App, Model, Services, Support, UI (one folder per section, UI/HUD is the design system)
NeocomWidgets/ widget extension; reads only the snapshot the app writes into the App Group
Shared/ code compiled into both the app and the extension
Tips.storekit StoreKit configuration for the tip jar
Packages/
TrainingKit training-time math, skill queue and plan, certificates; TrainingTimeline is its SDE-free product for widgets
MarketKit market math: orders, history, summaries, quantity fill
BusinessKit the character's own orders, industry jobs and contracts
AssetsKit asset trees and locations
MailKit mail model and helpers
KillmailKit killmail model and helpers
LegacyImportKit import of fits from the earlier Neocom
SDE SDEKit (typed access to the static data), the importer and the build-sde plugin
site/ the landing site (getneocom.com), plain static HTML
The packages are plain Swift: data in, data out, no UI and no networking.
Open-source dependencies (Swift Package Manager):
ESIKit) and zKillboard client (ZKillKit)Data pulled from the server is cached on disk as plain JSON; what the player creates (training plan, fits) lives in SwiftData. Accounts and refresh tokens are kept in the keychain.
Each package has its own tests; run them from the package directory:
cd Packages/TrainingKit
swift test
SDE tests need the built databases (see above).
MIT © 2026 Artem Shimanski.
EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf. All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf. EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide. All other trademarks are the property of their respective owners. Neocom is an independent project: it is not affiliated with and is not endorsed by CCP hf. CCP is in no way responsible for the content on or functioning of this program, nor for any damage it may cause, and is not liable for any inaccuracies in it.
The static data export, item images and icons are the property of CCP Games and are used under the EVE Online developer license.
Bugs and ideas: GitHub Issues.