Skip to content

iOS Region Filler — SwiftUI app + TestFlight CI/CD pipeline (USA / India / Turkey / Kazakhstan)#1

Draft
Maloikka wants to merge 2 commits into
mainfrom
cursor/ios-region-filler-app-8db0
Draft

iOS Region Filler — SwiftUI app + TestFlight CI/CD pipeline (USA / India / Turkey / Kazakhstan)#1
Maloikka wants to merge 2 commits into
mainfrom
cursor/ios-region-filler-app-8db0

Conversation

@Maloikka
Copy link
Copy Markdown
Owner

@Maloikka Maloikka commented May 5, 2026

Что это

Нативное iOS-приложение на SwiftUI, помогающее менять регион Apple ID. Генерирует реалистичные «липовые» профили (имя, фамилия, адрес, город, штат/иль/область, индекс, телефон) для четырёх стран (🇺🇸 США, 🇮🇳 Индия, 🇹🇷 Турция, 🇰🇿 Казахстан) и даёт удобные кнопки копирования напротив каждого поля.

UI повторяет системную форму «Страна или регион» из iOS, чтобы пользоваться было максимально понятно.

Что добавлено в этом PR

  • iOS-приложение на SwiftUI (минимальная iOS 16.0): модели, генератор данных, UI как у системной формы региона, кнопки копирования.
  • CI/CD для TestFlight через GitHub Actions.github/workflows/ios-testflight.yml собирает .ipa на macOS-раннере и загружает билд в TestFlight через App Store Connect API. Запускается вручную из вкладки Actions либо при push'е тега v*.*.*.
  • fastlane-пайплайн (fastlane/Fastfile, Gemfile) — то же самое одной командой bundle exec fastlane beta, если есть локальный Mac.
  • Документация в README.md: все шаги по Apple Developer Program, App Store Connect API key, distribution-сертификату, provisioning profile и GitHub Secrets.

⚠️ Технические ограничения, о которых честно

  1. iOS не позволяет третьей стороне автоматически менять регион Apple ID или заполнять системную форму Country/Region — это закрытая часть Apple ID, sandbox её не пускает, и App Store такое не пропустит. Поэтому приложение работает по схеме «генератор + быстрая вставка».
  2. TestFlight требует Apple Developer Program ($99/год). Без подписки CI-пайплайн не выложит билд.
  3. «APK» — Android-формат. На iPhone устанавливаются .ipa. Этот пайплайн собирает именно .ipa.

Что нужно от пользователя для TestFlight

  1. Оплатить Apple Developer Program ($99/год).
  2. Создать App ID (com.your.regionfiller) и приложение в App Store Connect.
  3. Сгенерировать App Store Connect API key (.p8), distribution-сертификат (.p12) и App Store provisioning profile.
  4. Положить значения в GitHub Secrets (имена секретов и инструкция в README.md).
  5. Actions → "iOS — Build & Upload to TestFlight" → Run workflow.

Через ~15 минут билд появляется в App Store Connect → TestFlight, дальше его можно установить на iPhone через приложение TestFlight.

Подробная пошаговая инструкция — в README.md.

Реалистичность сгенерированных данных

  • Имена/фамилии — распространённые в каждой стране.
  • Города — реальные, штат/иль/область соответствует городу.
  • Почтовые индексы — из реально существующих диапазонов выбранного города.
  • Телефонные номера используют действующие коды стран и операторов:
    • США — реальный area code, формат +1 NPA NXX-XXXX.
    • Индия — мобильный 10-значный, начинается с 6/7/8/9.
    • Турция+90 5XX XXX XX XX (Turkcell / Vodafone / Türk Telekom).
    • Казахстан+7 7XX XXX-XX-XX.

Структура проекта

RegionFiller/
├── App/RegionFillerApp.swift
├── Models/{Country.swift, FakeProfile.swift}
├── Data/{CountryData.swift, ProfileGenerator.swift}
├── ViewModel/RegionFillerViewModel.swift
├── Views/{RootView.swift, RegionFormView.swift}
└── Info.plist
project.yml                              # XcodeGen
.github/workflows/ios-testflight.yml     # CI: сборка .ipa + загрузка в TestFlight
fastlane/{Fastfile, Appfile}             # локальная сборка с Mac
Gemfile                                  # ruby/bundler для fastlane
.env.example                             # шаблон локальных переменных
.gitignore
README.md                                # полная инструкция
Open in Web Open in Cursor 

cursoragent and others added 2 commits May 5, 2026 09:57
… change

Generates realistic fake profile data (name, address, city, state/region,
postal code, phone) for USA, India, Turkey and Kazakhstan with per-field
copy buttons, mirroring the iOS 'Country or Region' system form.

Note: iOS does not allow third-party apps to auto-fill the system
country/region form; this app is a copy-paste helper, which is the only
legal approach on iOS.

Co-authored-by: Maloikka <Maloikka@users.noreply.github.com>
- .github/workflows/ios-testflight.yml: builds and signs the .ipa on a
  macOS-14 GitHub-hosted runner, then uploads to TestFlight via App
  Store Connect API. Triggered manually (workflow_dispatch) or by
  pushing a v*.*.* git tag.
- fastlane/Fastfile + Appfile + Gemfile: equivalent local pipeline
  (`bundle exec fastlane beta`) for users who have a Mac.
- project.yml: prepared for distribution signing.
- .env.example, .gitignore: guard secrets.
- README.md: full end-to-end instructions covering Apple Developer
  Program enrollment, ASC API key, distribution certificate,
  provisioning profile, GitHub Secrets and TestFlight onboarding.

Co-authored-by: Maloikka <Maloikka@users.noreply.github.com>
@cursor cursor Bot changed the title iOS Region Filler — SwiftUI helper for Apple ID country/region (USA / India / Turkey / Kazakhstan) iOS Region Filler — SwiftUI app + TestFlight CI/CD pipeline (USA / India / Turkey / Kazakhstan) May 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants