diff --git a/.gitignore b/.gitignore index 59173c40..6aa4ca70 100644 --- a/.gitignore +++ b/.gitignore @@ -21,4 +21,5 @@ wrangler.local.toml *.jks *.keystore *.p12 +credentials.json *-key.pem diff --git a/apps/mobile/app.json b/apps/mobile/app.json index c5f250fd..bd4fdd02 100644 --- a/apps/mobile/app.json +++ b/apps/mobile/app.json @@ -3,7 +3,7 @@ "name": "EdgeEver", "slug": "edgeever", "scheme": "edgeever", - "version": "0.5.0", + "version": "1.0", "runtimeVersion": { "policy": "appVersion" }, @@ -21,7 +21,10 @@ "newArchEnabled": true, "ios": { "bundleIdentifier": "org.edgeever.mobile", - "supportsTablet": true + "supportsTablet": false, + "config": { + "usesNonExemptEncryption": false + } }, "android": { "package": "org.edgeever.mobile", diff --git a/apps/mobile/eas.json b/apps/mobile/eas.json index 2782fa3b..fdedbcf2 100644 --- a/apps/mobile/eas.json +++ b/apps/mobile/eas.json @@ -21,6 +21,10 @@ } }, "submit": { - "production": {} + "production": { + "ios": { + "ascAppId": "6792625631" + } + } } } diff --git a/apps/mobile/store-assets/README.md b/apps/mobile/store-assets/README.md index 954f2323..3eca3c9d 100644 --- a/apps/mobile/store-assets/README.md +++ b/apps/mobile/store-assets/README.md @@ -1,7 +1,14 @@ -# Google Play store assets +# Mobile store assets -This directory contains the current EdgeEver Google Play listing artwork and screenshots. +This directory contains the current EdgeEver store listing artwork, screenshots, +and metadata. + +The root-level artwork is used by Google Play: - `feature-graphic.png`: 1024 × 500 feature graphic. - `phone-*.jpg`: source mobile screenshots captured from the public demo workspace. - `phone-*-1080x1920.jpg`: Play-ready portrait screenshots used for phone and tablet listing slots. + +The `app-store/` directory contains the App Store metadata source of truth and +Apple-ready iPhone screenshots. Keep the English and Simplified Chinese +metadata files aligned when changing listing content. diff --git a/apps/mobile/store-assets/app-store/iphone-6.5-1-list.jpg b/apps/mobile/store-assets/app-store/iphone-6.5-1-list.jpg new file mode 100644 index 00000000..098ce42f Binary files /dev/null and b/apps/mobile/store-assets/app-store/iphone-6.5-1-list.jpg differ diff --git a/apps/mobile/store-assets/app-store/iphone-6.5-2-detail.jpg b/apps/mobile/store-assets/app-store/iphone-6.5-2-detail.jpg new file mode 100644 index 00000000..a2327287 Binary files /dev/null and b/apps/mobile/store-assets/app-store/iphone-6.5-2-detail.jpg differ diff --git a/apps/mobile/store-assets/app-store/iphone-6.5-3-search.jpg b/apps/mobile/store-assets/app-store/iphone-6.5-3-search.jpg new file mode 100644 index 00000000..c06ba26c Binary files /dev/null and b/apps/mobile/store-assets/app-store/iphone-6.5-3-search.jpg differ diff --git a/apps/mobile/store-assets/app-store/iphone-6.5-4-settings.jpg b/apps/mobile/store-assets/app-store/iphone-6.5-4-settings.jpg new file mode 100644 index 00000000..8a4c420b Binary files /dev/null and b/apps/mobile/store-assets/app-store/iphone-6.5-4-settings.jpg differ diff --git a/apps/mobile/store-assets/app-store/metadata.en-US.md b/apps/mobile/store-assets/app-store/metadata.en-US.md new file mode 100644 index 00000000..f48675b9 --- /dev/null +++ b/apps/mobile/store-assets/app-store/metadata.en-US.md @@ -0,0 +1,68 @@ +# EdgeEver App Store metadata (en-US) + +## App information + +- Name: EdgeEver +- Subtitle: Self-hosted notes workspace +- Primary category: Productivity +- Secondary category: Utilities +- Content rights: EdgeEver does not contain, show, or access third-party content by default. Users connect the app to an EdgeEver instance they control. +- Privacy policy URL: https://edgeever.org/en/privacy + +## Version 1.0 + +### Promotional text + +Capture, organize, and sync notes with your own open-source EdgeEver workspace on Cloudflare. + +### Description + +EdgeEver is an open-source, self-hosted notes workspace for people who want a fast, familiar writing experience without giving up control of their data. + +Connect the app to an EdgeEver instance that you or your organization operates, then work with notebooks, notes, tags, attachments, search, and Trash from your iPhone. + +Highlights: + +• Fast notebook and note browsing +• Rich-text note editing +• Nested notebooks and tags +• Search across your workspace +• Image and attachment uploads +• Local drafts and a sync queue for unreliable networks +• Secure on-device session storage +• No ads, analytics, tracking, or telemetry + +EdgeEver runs on your own Cloudflare account. There is no central EdgeEver service that stores or relays your notes or credentials. To use the app, deploy an EdgeEver instance by following the guide at edgeever.org, or connect to an instance provided by your organization. + +EdgeEver is independent and is not affiliated with or endorsed by Evernote Corporation or its affiliates. + +### Keywords + +notes,notebook,self-hosted,markdown,writing,knowledge,Cloudflare,open source,sync,productivity + +### URLs + +- Support URL: https://edgeever.org/en/contact +- Marketing URL: https://edgeever.org + +### Copyright + +2026 Zhengzhou Binggui Network Technology Co., Ltd. + +## App Review information + +- Demo instance URL: https://demo.edgeever.org +- Username: ee-demo +- Password: demo#dZ6Q29Zjfor% +- Contact first name: Shihao +- Contact last name: Ma +- Contact phone: +86 185 3927 0558 +- Contact email: 1245207870@qq.com + +### Review notes + +EdgeEver is a client for a self-hosted notes service. On the sign-in screen, enter the demo instance URL, username, and password listed above. The public demo resets every Monday at 1:00 AM China Standard Time; please do not store sensitive review content in it. + +The app does not create accounts. Production accounts are created and controlled by the administrator of the self-hosted EdgeEver instance. Notes, attachments, credentials, and sync traffic travel directly between the device and the instance selected by the user; the app developer operates no relay or centralized storage service. Account and server-side data deletion is handled by that instance administrator. Users can sign out to remove the local session and can remove local app data through iOS Settings. + +The app uses only standard encryption supplied by the operating system and HTTPS libraries and does not implement proprietary or non-standard cryptography. diff --git a/apps/mobile/store-assets/app-store/metadata.zh-CN.md b/apps/mobile/store-assets/app-store/metadata.zh-CN.md new file mode 100644 index 00000000..2c210b19 --- /dev/null +++ b/apps/mobile/store-assets/app-store/metadata.zh-CN.md @@ -0,0 +1,68 @@ +# EdgeEver App Store 元数据(简体中文) + +## App 信息 + +- 名称:EdgeEver +- 副标题:自托管笔记工作区 +- 主要类别:效率 +- 次要类别:工具 +- 内容版权:EdgeEver 默认不包含、展示或访问第三方内容;用户将 App 连接到自己控制的 EdgeEver 实例。 +- 隐私政策网址:https://edgeever.org/privacy + +## 版本 1.0 + +### 推广文本 + +连接你自己的开源 EdgeEver 工作区,在 Cloudflare 上随时记录、整理并同步笔记。 + +### 描述 + +EdgeEver 是一款开源、自托管的笔记工作区,适合希望兼顾快速熟悉的写作体验与数据控制权的用户。 + +将 App 连接到由你或你的组织运营的 EdgeEver 实例,即可在 iPhone 上使用笔记本、笔记、标签、附件、搜索和回收站。 + +主要功能: + +• 快速浏览笔记本与笔记 +• 富文本笔记编辑 +• 多级嵌套笔记本与标签 +• 全工作区搜索 +• 图片与附件上传 +• 弱网环境下的本地草稿和同步队列 +• 会话凭据安全保存在设备上 +• 无广告、无分析、无追踪、无遥测 + +EdgeEver 运行在你自己的 Cloudflare 账号中,不存在集中保存或中转用户笔记与凭据的 EdgeEver 中央服务。使用本 App 前,请按照 edgeever.org 的说明部署 EdgeEver 实例,或连接由你的组织提供的实例。 + +EdgeEver 是独立项目,与 Evernote Corporation 及其关联公司无隶属、授权、赞助或背书关系。 + +### 关键词 + +笔记,笔记本,自托管,写作,知识库,Cloudflare,开源,同步,效率,Markdown + +### 网址 + +- 技术支持网址:https://edgeever.org/contact +- 营销网址:https://edgeever.org + +### 版权 + +2026 Zhengzhou Binggui Network Technology Co., Ltd. + +## App 审核信息 + +- 演示实例网址:https://demo.edgeever.org +- 用户名:ee-demo +- 密码:demo#dZ6Q29Zjfor% +- 联系人名字:Shihao +- 联系人姓氏:Ma +- 联系电话:+86 185 3927 0558 +- 联系邮箱:1245207870@qq.com + +### 审核备注 + +EdgeEver 是自托管笔记服务的客户端。请在登录页输入上方提供的演示实例网址、用户名和密码。公开演示环境会在每周一北京时间凌晨 1:00 重置,请勿在其中保存敏感审核内容。 + +App 不负责创建账号。正式账号由用户所连接的自托管 EdgeEver 实例管理员创建和管理。笔记、附件、凭据与同步流量直接在设备和用户选择的实例之间传输,App 开发者不运营中转或集中存储服务。账号及服务端数据删除由实例管理员处理;用户可以退出登录以移除本地会话,并通过 iOS 设置删除本地 App 数据。 + +App 仅使用操作系统和 HTTPS 库提供的标准加密,不实现专有或非标准加密算法。 diff --git a/apps/site/src/pages/data-deletion.astro b/apps/site/src/pages/data-deletion.astro index 2f2af8e6..3e28d6c8 100644 --- a/apps/site/src/pages/data-deletion.astro +++ b/apps/site/src/pages/data-deletion.astro @@ -15,7 +15,7 @@ import Layout from "@/layouts/Layout.astro";

删除 App 本地数据

-

先在 App 中退出登录,再通过 Android 系统设置清除 EdgeEver 的存储数据,或卸载 App。这样会删除设备上的会话、本地 SQLite 镜像、草稿、同步队列与偏好设置,但不会删除自托管实例中的数据。

+

先在 App 中退出登录,再通过 iOS 或 Android 系统设置删除 EdgeEver App 及其数据。这样会删除设备上的会话、本地 SQLite 镜像、草稿、同步队列与偏好设置,但不会删除自托管实例中的数据。

删除账号

diff --git a/apps/site/src/pages/en/data-deletion.astro b/apps/site/src/pages/en/data-deletion.astro index d0f8d38b..a1a3c18b 100644 --- a/apps/site/src/pages/en/data-deletion.astro +++ b/apps/site/src/pages/en/data-deletion.astro @@ -15,7 +15,7 @@ import Layout from "@/layouts/Layout.astro";

Delete local app data

-

Sign out in the app, then clear EdgeEver storage in Android Settings or uninstall the app. This removes the local session, SQLite mirror, drafts, sync queue, and preferences from the device. It does not delete data stored in the self-hosted instance.

+

Sign out in the app, then use iOS or Android Settings to remove EdgeEver and its app data. This removes the local session, SQLite mirror, drafts, sync queue, and preferences from the device. It does not delete data stored in the self-hosted instance.

Delete an account

diff --git a/apps/site/src/pages/en/privacy.astro b/apps/site/src/pages/en/privacy.astro index 539a77de..6480657c 100644 --- a/apps/site/src/pages/en/privacy.astro +++ b/apps/site/src/pages/en/privacy.astro @@ -16,7 +16,7 @@ import Layout from "@/layouts/Layout.astro";

Scope

-

This policy applies to the EdgeEver Android mobile app and EdgeEver Web Clipper. EdgeEver is an open-source, self-hosted notes application. Users choose and operate the EdgeEver instance they connect to.

+

This policy applies to the EdgeEver iOS and Android mobile apps and EdgeEver Web Clipper. EdgeEver is an open-source, self-hosted notes application. Users choose and operate the EdgeEver instance they connect to.

diff --git a/apps/site/src/pages/privacy.astro b/apps/site/src/pages/privacy.astro index 264eaf7a..b8d98423 100644 --- a/apps/site/src/pages/privacy.astro +++ b/apps/site/src/pages/privacy.astro @@ -16,7 +16,7 @@ import Layout from "@/layouts/Layout.astro";

适用范围

-

本政策适用于 EdgeEver Android 移动 App 与 EdgeEver Web Clipper。EdgeEver 是开源、自托管的笔记工具;用户自行选择并运营所连接的 EdgeEver 实例。

+

本政策适用于 EdgeEver iOS 与 Android 移动 App,以及 EdgeEver Web Clipper。EdgeEver 是开源、自托管的笔记工具;用户自行选择并运营所连接的 EdgeEver 实例。

diff --git a/docs/mobile-build.md b/docs/mobile-build.md index 70669596..1cceadfb 100644 --- a/docs/mobile-build.md +++ b/docs/mobile-build.md @@ -101,7 +101,26 @@ keystore is only used to prove ownership when uploading bundles; Google Play App Signing manages the app signing key delivered to users. Keep an encrypted backup of the upload keystore and its credentials outside the repository. -iOS device builds and App Store submissions require Apple Developer Program enrollment, certificates, and provisioning profiles. Until those credentials are available, iOS can be developed locally with Expo Go or simulator builds, but installable device `.ipa` release automation should wait. +### iOS App Store build + +The production iOS app uses the bundle identifier `org.edgeever.mobile`. The +Apple Developer team and distribution credentials are managed through EAS so +that the App Store archive can be built without storing signing certificates in +the repository or on the release machine: + +```sh +cd apps/mobile +bunx eas-cli credentials:configure-build --platform ios --profile production +bunx eas-cli build --platform ios --profile production +``` + +The first command requires the Apple Account Holder to authenticate and may +prompt for two-factor authentication. The production profile automatically +increments the App Store build number. After the build has succeeded, submit +the selected build with `bunx eas-cli submit --platform ios --profile +production`, or configure `submit.production.ios.ascAppId` and use +`--auto-submit` on subsequent releases. Apple credentials, App Store Connect +API keys, certificates, and provisioning profiles must never be committed. ## EAS