Uzair Tahir 3304c3540f Update StoreKit prices, App Store description, and subscription manifest. 2 tháng trước cách đây
..
app-data 3304c3540f Update StoreKit prices, App Store description, and subscription manifest. 2 tháng trước cách đây
scripts 6b50179c48 Add App Review notes and App Store Connect subscription tooling. 2 tháng trước cách đây
.env.example a15be31d1a Add App Store Connect folder with listing metadata and API sync. 2 tháng trước cách đây
AppConnect.xcconfig a15be31d1a Add App Store Connect folder with listing metadata and API sync. 2 tháng trước cách đây
Local.xcconfig.example a15be31d1a Add App Store Connect folder with listing metadata and API sync. 2 tháng trước cách đây
README.md 6b50179c48 Add App Review notes and App Store Connect subscription tooling. 2 tháng trước cách đây
review-notes.txt 6b50179c48 Add App Review notes and App Store Connect subscription tooling. 2 tháng trước cách đây
subscriptions.manifest.json 3304c3540f Update StoreKit prices, App Store description, and subscription manifest. 2 tháng trước cách đây

README.md

App Store Connect

Configuration for connecting to App Store Connect for this app (App for Indeed).

Setup

  1. API key (for automation, CI, or CLI tools):

    • In App Store Connect: Users and Access → Integrations → App Store Connect API → Generate API Key.
    • Download the .p8 file into this folder (e.g. AuthKey_XXXXXXXXXX.p8). Do not commit it.
  2. Environment file:

    cd app-connect
    cp .env.example .env
    

    Edit .env with your Issuer ID, Key ID, path to the .p8 file, and numeric App Store / Developer IDs.

  3. Xcode build settings (Mac App Store share links in the app):

    cp Local.xcconfig.example Local.xcconfig
    

    Set APP_STORE_APP_ID and APP_STORE_DEVELOPER_ID in Local.xcconfig. The Xcode target includes AppConnect.xcconfig, which pulls in Local.xcconfig.

Variables

Variable Purpose
APP_STORE_CONNECT_ISSUER_ID API Issuer ID from App Store Connect
APP_STORE_CONNECT_KEY_ID API Key ID
APP_STORE_CONNECT_PRIVATE_KEY_PATH Path to the .p8 private key
APP_STORE_CONNECT_BUNDLE_ID Bundle ID (com.hwaccount.app-for-indeed)
APP_STORE_CONNECT_TEAM_ID Apple Developer Team ID
APP_STORE_APP_ID Numeric Mac App Store app ID
APP_STORE_DEVELOPER_ID Numeric developer ID for “More Apps” link

App Store listing copy

Ready-to-paste metadata lives in app-data/ (name, subtitle, description, promotional text, copyright, keywords, and support/legal/marketing URLs).

Push metadata to App Store Connect

After filling in .env and editing app-data/*.txt:

cd app-connect
python3 scripts/update_app_store_metadata.py
  • App Information (macOS): name, subtitle, privacy policy URL
  • Version 1.0 (default): copyright, description, keywords, promotional text, marketing URL, support URL

Override version or locale: APP_STORE_VERSION=1.0 APP_STORE_LOCALE=en-US python3 scripts/update_app_store_metadata.py

Custom Terms of Use (EULA URL) must still use Apple’s standard EULA or be set manually in App Store Connect if you need a custom license agreement.

Sync subscriptions from Paywall.storekit

Creates or updates the subscription group and products to match App for Indeed/Paywall.storekit (IDs, localizations, USA prices, yearly free trial):

cd app-connect
python3 scripts/sync_subscriptions_from_storekit.py

Writes subscriptions.manifest.json with App Store Connect resource IDs. Product IDs in code, StoreKit, and App Store Connect must stay identical.

Loading .env in the shell

set -a
source app-connect/.env
set +a

Tools such as Fastlane, xcrun altool, and custom scripts can read the same variable names.