尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证A digital passport for your live events. Track tickets, lottery entries and spending, and relive every show you’ve been to.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A native iOS companion for Eventernote — browse events, follow performers, and keep your own record of every event you go to, from the lottery to the ticket stub.
Eventrail is in beta testing through TestFlight, for iPhone, iPad and Apple Watch. It is not on the App Store yet.
Eventrail is an independent project and is not affiliated with or endorsed by Eventernote.查看完整 README ↗Eventrail is in beta testing through TestFlight, for iPhone, iPad and Apple Watch. It is not on the App Store yet.
Eventrail is an independent project and is not affiliated with or endorsed by Eventernote.
.eventrail file and restore it any timeSee the feature overview for how each of these works and how your data is treated.
Clone the repository
git clone https://github.com/shawnhuangyh/Eventrail.git
cd Eventrail
Open in Xcode
open Eventrail.xcodeproj
Build and run — pick a simulator or device and press ⌘R. The Eventrail scheme builds the widget extension and the watch app too, and embeds both.
Simulator builds work as-is. A device build needs iCloud (with the iCloud.moe.shawn.Eventrail CloudKit container) and Push Notifications enabled on the App ID in your developer portal, since sync runs on CloudKit, and the App Group group.moe.shawn.Eventrail on both the app and the widget extension, since the Live Activity's flyer is handed over through it. Automatic signing registers the group and the extension's and watch app's App IDs on the first device build from Xcode; a signing that cannot, such as Xcode Cloud's, needs them to exist first. Before a TestFlight build can sync, deploy the CloudKit schema to Production in the CloudKit Console, and again whenever a model gains a type or a field: run a development build with iCloud Sync on first, so the Development schema has it to deploy.
The Live Activity needs a real iPhone to check: the Simulator's screenshots leave the Dynamic Island out, and the watch Simulator is sent no Live Activity. Handoff needs two real devices signed in to the same Apple Account: the Simulator cannot hand anything off.
# List the destinations your Xcode can build for
xcodebuild -scheme Eventrail -showdestinations
# Build for the simulator
xcodebuild -scheme Eventrail -destination 'platform=iOS Simulator,name=iPhone 18 Pro' build
# Run the unit tests
xcodebuild test -scheme Eventrail -destination 'platform=iOS Simulator,name=iPhone 18 Pro'
# Run one test (a Swift Testing test is named with its "()", or nothing runs)
xcodebuild test -scheme Eventrail -destination 'platform=iOS Simulator,name=iPhone 18 Pro' \
'-only-testing:EventrailTests/TrackingTests/twoDevicesEditingDifferentAnswersKeepBoth()'
Xcode 27 ships no Simulator.app; its simulator window is DeviceHub.app (open -b com.apple.dt.Devices). xcrun simctl works as before.
Contributions are welcome — feel free to open an issue or a pull request against main.
main is where all work lands. release is what TestFlight testers run: Xcode Cloud builds from it, and it moves only by a pull request from main when a build is ready to go out.
This project follows the Conventional Commits format:
feat, fix, docs, test, refactor or chorefeat/…, fix/…)feat: remind on a lottery's results day at 8 PM
fix: stop the calendar mirror crashing on a new untimed event
docs: describe sync as SwiftData settles it
This project is licensed under the MIT License. The license covers this app's own source code; it says nothing about Eventernote's content, which remains the site's.
Made with ❤️ using Swift and SwiftUI