- Add BGTask identifiers and background modes to iOS Info.plist - Fix permission method calls (checkPermissionStatus vs checkPermissions) - Implement Android-style permission checking pattern - Add "Request Permissions" action card with check-then-request flow - Fix simulator selection in build script (use device ID for reliability) - Add Podfile auto-fix to fix-capacitor-plugins.js - Update build documentation with unified script usage Fixes: - BGTask registration errors (Info.plist missing identifiers) - Permission method not found errors (checkPermissions -> checkPermissionStatus) - Simulator selection failures (now uses device ID) - Podfile incorrect pod name (TimesafariDailyNotificationPlugin -> DailyNotificationPlugin) The permission flow now matches Android: check status first, then show system dialog if needed. iOS system dialog appears automatically when requestNotificationPermissions() is called. Files changed: - test-apps/daily-notification-test/ios/App/App/Info.plist (new) - test-apps/daily-notification-test/src/lib/typed-plugin.ts - test-apps/daily-notification-test/src/views/HomeView.vue - test-apps/daily-notification-test/scripts/build.sh (new) - test-apps/daily-notification-test/scripts/fix-capacitor-plugins.js - test-apps/daily-notification-test/docs/BUILD_QUICK_REFERENCE.md - test-apps/daily-notification-test/README.md - test-apps/daily-notification-test/package.json - test-apps/daily-notification-test/package-lock.json
54 lines
1.6 KiB
JSON
54 lines
1.6 KiB
JSON
{
|
|
"name": "daily-notification-test",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"engines": {
|
|
"node": "^20.19.0 || >=22.12.0"
|
|
},
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "run-p type-check \"build-only {@}\" --",
|
|
"preview": "vite preview",
|
|
"build-only": "vite build",
|
|
"type-check": "vue-tsc --build",
|
|
"lint": "eslint . --fix",
|
|
"cap:sync": "npx cap sync && node scripts/fix-capacitor-plugins.js",
|
|
"cap:sync:android": "npx cap sync android && node scripts/fix-capacitor-plugins.js",
|
|
"cap:sync:ios": "npx cap sync ios",
|
|
"postinstall": "node scripts/fix-capacitor-plugins.js"
|
|
},
|
|
"dependencies": {
|
|
"@capacitor/android": "^6.2.1",
|
|
"@capacitor/ios": "^6.2.1",
|
|
"@capacitor/cli": "^6.2.1",
|
|
"@capacitor/core": "^6.2.1",
|
|
"@timesafari/daily-notification-plugin": "file:../../",
|
|
"date-fns": "^4.1.0",
|
|
"did-jwt": "^7.4.7",
|
|
"ethers": "^6.15.0",
|
|
"pinia": "^3.0.3",
|
|
"vue": "^3.5.22",
|
|
"vue-facing-decorator": "^3.0.4",
|
|
"vue-router": "^4.5.1"
|
|
},
|
|
"devDependencies": {
|
|
"@tsconfig/node22": "^22.0.2",
|
|
"@types/node": "^22.18.6",
|
|
"@vitejs/plugin-vue": "^6.0.1",
|
|
"@vue/eslint-config-typescript": "^14.6.0",
|
|
"@vue/runtime-core": "^3.5.22",
|
|
"@vue/tsconfig": "^0.8.1",
|
|
"eslint": "^9.33.0",
|
|
"eslint-plugin-vue": "~10.4.0",
|
|
"jiti": "^2.5.1",
|
|
"npm-run-all2": "^8.0.4",
|
|
"reflect-metadata": "^0.2.2",
|
|
"typescript": "~5.9.0",
|
|
"unplugin-vue-components": "^29.1.0",
|
|
"vite": "^7.1.7",
|
|
"vite-plugin-vue-devtools": "^8.0.2",
|
|
"vue-tsc": "^3.1.0"
|
|
}
|
|
}
|