Обёртка на Capacitor с Swift Package Manager — без CocoaPods. Тот же веб-код, нативная оболочка, подпись бесплатным Apple ID.
| Mac | Xcode из App Store |
| iPhone | кабель USB |
| Apple ID | обычный, бесплатный |
| Интернет | для загрузки пакетов GitHub в Xcode (один раз) |
CocoaPods не нужен.
- Приложение живёт ~7 дней, потом снова Run (▶) в Xcode.
- До 3 таких приложений на телефоне.
- На чужие iPhone без Mac не поставить.
sudo xcode-select -s /Applications/Xcode.app/Contents/DeveloperОткройте Xcode один раз и примите лицензию.
Из папки проекта — по одной команде на строку:
cd "/Users/lustinaleksej/Claude/Projects/Веб приложение Карточки"
npm installЕсли папки ios/ ещё нет или там остался CocoaPods:
npm run ios:reset-spmЕсли ios/ уже на SPM (есть ios/App/CapApp-SPM/):
npm run ios:syncЗаполните js/config.js (из js/config.example.js), если нужно облако.
npm run ios:openОткроется ios/App/App.xcodeproj (не .xcworkspace).
- Слева выберите проект App (синяя иконка).
- Вкладка Package Dependencies.
- Кнопка + → Add Local…
- Выберите папку
ios/App/CapApp-SPM→ Add Package → ещё раз Add Package.
- Вкладка Info у проекта App.
- Configurations → Debug → + (или правый клик) → Add Configuration File…
- Выберите
ios/debug.xcconfig. - Тип: xcconfig.
Если Xcode спросит — привяжите debug.xcconfig к таргету App.
После npm run ios:sync Capacitor обновляет CapApp-SPM/Package.swift — в Xcode: File → Packages → Reset Package Caches, если сборка ругается на зависимости.
- Подключите iPhone, разблокируйте, Доверять компьютеру.
- Сверху в Xcode выберите ваш iPhone.
- Signing & Capabilities → Automatically manage signing → ваш Apple ID.
- Уникальный Bundle Identifier (например
ru.kartochki.app.вашеимя). - Run (▶).
На iPhone: Настройки → Основные → VPN и управление устройством → Доверять разработчику.
npm run ios:syncВ Xcode снова Run (▶).
| Команда | Когда |
|---|---|
npm run ios:reset-spm |
Первый раз или переход с CocoaPods (удаляет ios/, создаёт заново с SPM) |
npm run ios:sync |
После изменений в веб-коде |
npm run ios:open |
Открыть Xcode |
pod install / cdn.cocoapods.org
Вы на SPM — CocoaPods не используется. Выполните npm run ios:reset-spm.
Ошибки Signing
Смените Bundle Identifier на уникальный.
Пустой экран
Проверьте js/config.js и что npm run ios:sync прошёл без ошибок.
Package not found
В Xcode: File → Packages → Reset Package Caches, проверьте интернет (нужен доступ к github.com).
Режим «Голос»
Разрешения микрофона добавляются скриптом patch-ios-plist при ios:sync.
На iOS/Android используется нативный @capgo/capacitor-speech-recognition (SFSpeechRecognizer); в браузере — Web Speech API.
Документация Capacitor: Swift Package Manager