Compare commits
50 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
24baeda80f | ||
| 9d4c8327b0 | |||
|
|
42125f89eb | ||
| 7d0c7932ea | |||
| 6f9f40a061 | |||
| 41bec3b656 | |||
| 8ba765e3be | |||
|
|
6cdb74a391 | ||
| eb797dd0e8 | |||
| 7243e43bbb | |||
| 82966695b4 | |||
| 322b3e29fa | |||
| 634ac0be6b | |||
|
|
2852e3ecf5 | ||
| 179c6d781c | |||
| daac6f56fd | |||
| a447fe1c8a | |||
| d73fa03a25 | |||
|
|
cb7133fcd7 | ||
| 64af382f10 | |||
| a535c6b49a | |||
| c15ad85d67 | |||
| d474663d44 | |||
|
|
b984aaf187 | ||
| fc8aa17c61 | |||
| 633a1979ce | |||
| 0cb6c06d9d | |||
| ff593aee6d | |||
| bd11f814d7 | |||
|
|
96059f219c | ||
| e7ff39a232 | |||
| 11972542da | |||
| 5dcd1f25b1 | |||
| 1e85d0c2a6 | |||
| 9555eaf636 | |||
| 69f3a4fef9 | |||
|
|
466f5a04b2 | ||
|
|
d44909c79f | ||
| 9d474a62fe | |||
| c72a655f6a | |||
| 32326beb8d | |||
| ce158ad4f8 | |||
| 7ec952620d | |||
| b0fcd93792 | |||
| d7e9b62730 | |||
|
|
f54f69cd3c | ||
| 4d99694109 | |||
| 7c572a6e64 | |||
| 9740997709 | |||
| da170001f0 |
54
.github/workflows/release.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
||||
- name: Setup Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: 'stable'
|
||||
flutter-version-file: .flutter-version
|
||||
cache: true
|
||||
|
||||
- name: Cache pub dependencies
|
||||
@@ -54,7 +54,7 @@ jobs:
|
||||
- name: Setup Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: 'stable'
|
||||
flutter-version-file: .flutter-version
|
||||
cache: true
|
||||
|
||||
- name: Cache pub dependencies
|
||||
@@ -83,18 +83,12 @@ jobs:
|
||||
release-please:
|
||||
needs: [lint, test]
|
||||
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
release_created: ${{ steps.release.outputs.release_created }}
|
||||
tag_name: ${{ steps.release.outputs.tag_name }}
|
||||
version: ${{ steps.release.outputs.version }}
|
||||
|
||||
steps:
|
||||
- name: Release Please
|
||||
id: release
|
||||
uses: googleapis/release-please-action@v4
|
||||
with:
|
||||
release-type: dart
|
||||
uses: chenasraf/workflows/.github/workflows/release-please-fastlane-changelog.yml@master
|
||||
with:
|
||||
release-type: dart
|
||||
fastlane-changelog-dirs: |
|
||||
fastlane/metadata/android/en-US/changelogs
|
||||
fastlane/metadata/ios/en-US/changelogs
|
||||
|
||||
build-android:
|
||||
needs: release-please
|
||||
@@ -115,7 +109,7 @@ jobs:
|
||||
- name: Setup Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: 'stable'
|
||||
flutter-version-file: .flutter-version
|
||||
cache: true
|
||||
|
||||
- name: Cache pub dependencies
|
||||
@@ -132,6 +126,9 @@ jobs:
|
||||
- name: Create .env
|
||||
run: cp .env.example .env
|
||||
|
||||
- name: Remove JNI build-id for reproducible builds
|
||||
run: sed -i -e 's/-Wl,/-Wl,--build-id=none,/' $PUB_CACHE/hosted/pub.dev/jni-*/src/CMakeLists.txt
|
||||
|
||||
- name: Decode keystore
|
||||
run: echo ${{ secrets.ANDROID_KEYSTORE_BASE64 }} | base64 -d > android/app/upload-keystore.jks
|
||||
|
||||
@@ -144,23 +141,36 @@ jobs:
|
||||
storeFile=upload-keystore.jks
|
||||
EOF
|
||||
|
||||
- name: Build APK
|
||||
run: flutter build apk --release --obfuscate --split-debug-info=build/debug-info-apk --dart-define-from-file=.env
|
||||
- name: Print signing key SHA-256
|
||||
run: |
|
||||
keytool -list -v -keystore android/app/upload-keystore.jks \
|
||||
-alias ${{ secrets.ANDROID_KEY_ALIAS }} \
|
||||
-storepass ${{ secrets.ANDROID_STORE_PASSWORD }} \
|
||||
2>/dev/null | grep "SHA256:" | awk '{print $2}'
|
||||
|
||||
- name: Build split APKs
|
||||
run: flutter build apk --release --split-per-abi --obfuscate --split-debug-info=build/debug-info-apk --dart-define-from-file=.env
|
||||
|
||||
- name: Build App Bundle
|
||||
run: flutter build appbundle --release --obfuscate --split-debug-info=build/debug-info-aab --dart-define-from-file=.env
|
||||
|
||||
- name: Rename artifacts
|
||||
run: |
|
||||
mv build/app/outputs/flutter-apk/app-release.apk build/app/outputs/flutter-apk/pantry-${{ needs.release-please.outputs.version }}.apk
|
||||
mv build/app/outputs/bundle/release/app-release.aab build/app/outputs/bundle/release/pantry-${{ needs.release-please.outputs.version }}.aab
|
||||
VERSION=${{ needs.release-please.outputs.version }}
|
||||
APK_DIR=build/app/outputs/flutter-apk
|
||||
mv ${APK_DIR}/app-armeabi-v7a-release.apk ${APK_DIR}/pantry-${VERSION}-armeabi-v7a.apk
|
||||
mv ${APK_DIR}/app-arm64-v8a-release.apk ${APK_DIR}/pantry-${VERSION}-arm64-v8a.apk
|
||||
mv ${APK_DIR}/app-x86_64-release.apk ${APK_DIR}/pantry-${VERSION}-x86_64.apk
|
||||
mv build/app/outputs/bundle/release/app-release.aab build/app/outputs/bundle/release/pantry-${VERSION}.aab
|
||||
|
||||
- name: Upload APK to release
|
||||
- name: Upload APKs to release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
tag_name: ${{ needs.release-please.outputs.tag_name }}
|
||||
files: |
|
||||
build/app/outputs/flutter-apk/pantry-${{ needs.release-please.outputs.version }}.apk
|
||||
build/app/outputs/flutter-apk/pantry-${{ needs.release-please.outputs.version }}-armeabi-v7a.apk
|
||||
build/app/outputs/flutter-apk/pantry-${{ needs.release-please.outputs.version }}-arm64-v8a.apk
|
||||
build/app/outputs/flutter-apk/pantry-${{ needs.release-please.outputs.version }}-x86_64.apk
|
||||
|
||||
- name: Upload App Bundle to release
|
||||
uses: softprops/action-gh-release@v2
|
||||
@@ -181,7 +191,7 @@ jobs:
|
||||
- name: Setup Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: 'stable'
|
||||
flutter-version-file: .flutter-version
|
||||
cache: true
|
||||
|
||||
- name: Cache pub dependencies
|
||||
|
||||
5
.gitignore
vendored
@@ -47,6 +47,8 @@ app.*.map.json
|
||||
|
||||
# Environment
|
||||
.env
|
||||
.envrc
|
||||
/.flutter-flags.yml
|
||||
|
||||
# Android signing
|
||||
android/key.properties
|
||||
@@ -57,4 +59,5 @@ android/app/*.keystore
|
||||
fastlane/play-store-key.json
|
||||
fastlane/.image_hashes.json
|
||||
fastlane/report.xml
|
||||
/.envrc
|
||||
fastlane/Preview.html
|
||||
fastlane/metadata/ios/en-US/release_notes.txt
|
||||
|
||||
83
CHANGELOG.md
@@ -1,5 +1,88 @@
|
||||
# Changelog
|
||||
|
||||
## [0.9.2](https://github.com/chenasraf/pantry-flutter/compare/v0.9.1...v0.9.2) (2026-04-19)
|
||||
|
||||
|
||||
### Build System
|
||||
|
||||
* reproducible build ([9d4c832](https://github.com/chenasraf/pantry-flutter/commit/9d4c8327b035eb0433d6d0a571af406ffca84f83))
|
||||
|
||||
## [0.9.1](https://github.com/chenasraf/pantry-flutter/compare/v0.9.0...v0.9.1) (2026-04-18)
|
||||
|
||||
|
||||
### Build System
|
||||
|
||||
* add abi split ([7d0c793](https://github.com/chenasraf/pantry-flutter/commit/7d0c7932ea9bf18d5ff391351f0058889abba5d8))
|
||||
|
||||
## [0.9.0](https://github.com/chenasraf/pantry-flutter/compare/v0.8.0...v0.9.0) (2026-04-18)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add search in lists ([eb797dd](https://github.com/chenasraf/pantry-flutter/commit/eb797dd0e87f7eb14576a3bdf7e77f9fe1c0cb09))
|
||||
* allow uploading list item image ([7243e43](https://github.com/chenasraf/pantry-flutter/commit/7243e43bbbfe8072327fc921ed2a4ffba228bd3f))
|
||||
|
||||
## [0.8.0](https://github.com/chenasraf/pantry-flutter/compare/v0.7.1...v0.8.0) (2026-04-16)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add more icons to categories ([179c6d7](https://github.com/chenasraf/pantry-flutter/commit/179c6d781c1342434608b9af88daa807795c9a46))
|
||||
* allow adding one-off list items ([a447fe1](https://github.com/chenasraf/pantry-flutter/commit/a447fe1c8a1d9de655c081015f287afeba75bee1))
|
||||
|
||||
## [0.7.1](https://github.com/chenasraf/pantry-flutter/compare/v0.7.0...v0.7.1) (2026-04-14)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* about urls not opening ([64af382](https://github.com/chenasraf/pantry-flutter/commit/64af382f10bd696f05a23d31ee8e04d746fc4b46))
|
||||
|
||||
## [0.7.0](https://github.com/chenasraf/pantry-flutter/compare/v0.6.0...v0.7.0) (2026-04-14)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add about page ([0cb6c06](https://github.com/chenasraf/pantry-flutter/commit/0cb6c06d9d418b61d5fd1c4852ec244366aa6af8))
|
||||
|
||||
## [0.6.0](https://github.com/chenasraf/pantry-flutter/compare/v0.5.0...v0.6.0) (2026-04-13)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* show next due date for list items ([e7ff39a](https://github.com/chenasraf/pantry-flutter/commit/e7ff39a2328ecd9967a3b162dc389bac8a645f38))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* appbar icon spacings ([1197254](https://github.com/chenasraf/pantry-flutter/commit/11972542da777a5922aec564684b7f37b3330aa0))
|
||||
* improve i18n recurrence string rules ([1e85d0c](https://github.com/chenasraf/pantry-flutter/commit/1e85d0c2a6d46d7561105f02683bbed97c907792))
|
||||
|
||||
## [0.5.0](https://github.com/chenasraf/pantry-flutter/compare/v0.4.0...v0.5.0) (2026-04-12)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add de, es, fr locales ([7ec9526](https://github.com/chenasraf/pantry-flutter/commit/7ec952620db2d957278d58c3798e5b03ab8c59fc))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* allow arbitrary text in quantity ([32326be](https://github.com/chenasraf/pantry-flutter/commit/32326beb8d39d4713c9f65d01dfb243c44a5dbda))
|
||||
* improve rtl layout spacings ([9d474a6](https://github.com/chenasraf/pantry-flutter/commit/9d474a62fe6ae19f3c08cdb634eac725ffb403c4))
|
||||
* rtl layout + switching ([b0fcd93](https://github.com/chenasraf/pantry-flutter/commit/b0fcd937922badb59467f1bf164e3668c658e531))
|
||||
|
||||
## [0.4.0](https://github.com/chenasraf/pantry-flutter/compare/v0.3.0...v0.4.0) (2026-04-12)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add hebrew language translation ([7c572a6](https://github.com/chenasraf/pantry-flutter/commit/7c572a6e64eafcf3433a2e6599b698312ffa9cbe))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* description field in items saving+displaying ([4d99694](https://github.com/chenasraf/pantry-flutter/commit/4d9969410935d0b8d64fcfbc3e11d317a17979a6))
|
||||
|
||||
## [0.3.0](https://github.com/chenasraf/pantry-flutter/compare/v0.2.1...v0.3.0) (2026-04-12)
|
||||
|
||||
|
||||
|
||||
88
Makefile
@@ -1,9 +1,6 @@
|
||||
# Version from pubspec.yaml (without build number)
|
||||
VERSION := $(shell grep '^version:' pubspec.yaml | sed 's/version: *//;s/+.*//')
|
||||
|
||||
# Get staged Dart files
|
||||
STAGED_DART_FILES := $(shell git diff --cached --name-only --diff-filter=ACM | grep '\.dart$$' 2>/dev/null)
|
||||
|
||||
# Default target
|
||||
.PHONY: help
|
||||
help:
|
||||
@@ -12,7 +9,7 @@ help:
|
||||
@echo " Setup:"
|
||||
@echo " get Install dependencies"
|
||||
@echo " clean Clean build artifacts"
|
||||
@echo " install-precommit Install git pre-commit hook"
|
||||
@echo " install-hooks Install git hooks via lefthook"
|
||||
@echo " pods Update CocoaPods repo and install pods"
|
||||
@echo ""
|
||||
@echo " i18n:"
|
||||
@@ -22,13 +19,9 @@ help:
|
||||
@echo " Development:"
|
||||
@echo " run Run the app in debug mode"
|
||||
@echo " webapp-run Run the web app in default browser"
|
||||
@echo " format Format staged Dart files"
|
||||
@echo " analyze Analyze staged Dart files"
|
||||
@echo " check Check staged files (format + analyze, no changes)"
|
||||
@echo " precommit Run pre-commit checks on staged files"
|
||||
@echo " format-all Format all Dart files"
|
||||
@echo " analyze-all Analyze all Dart files"
|
||||
@echo " check-all Check all files (format + analyze, no changes)"
|
||||
@echo " format Format all Dart files"
|
||||
@echo " analyze Analyze all Dart files"
|
||||
@echo " check Check all files (format + analyze, no changes)"
|
||||
@echo ""
|
||||
@echo " Testing:"
|
||||
@echo " test Run all tests"
|
||||
@@ -44,6 +37,7 @@ help:
|
||||
@echo " Building:"
|
||||
@echo " android-install Build APK and install on connected device"
|
||||
@echo " android-build-apk Build Android APK"
|
||||
@echo " android-build-apk-split Build Android split-per-ABI APKs"
|
||||
@echo " android-build-aab Build Android App Bundle"
|
||||
@echo " android-push Build APK and push to device via adb"
|
||||
@echo " ios-build Build iOS (no codesign)"
|
||||
@@ -79,6 +73,7 @@ build-clean:
|
||||
# i18n
|
||||
.PHONY: i18n
|
||||
i18n:
|
||||
dart run tool/fix_i18n_escapes.dart
|
||||
dart run build_runner build --delete-conflicting-outputs
|
||||
|
||||
.PHONY: i18n-watch
|
||||
@@ -96,50 +91,14 @@ webapp-run:
|
||||
|
||||
.PHONY: format
|
||||
format:
|
||||
@if [ -n "$(STAGED_DART_FILES)" ]; then \
|
||||
echo "Formatting staged files..."; \
|
||||
dart format $(STAGED_DART_FILES); \
|
||||
else \
|
||||
echo "No staged Dart files to format."; \
|
||||
fi
|
||||
dart format .
|
||||
|
||||
.PHONY: analyze
|
||||
analyze:
|
||||
@if [ -n "$(STAGED_DART_FILES)" ]; then \
|
||||
echo "Analyzing staged files..."; \
|
||||
dart analyze $(STAGED_DART_FILES); \
|
||||
else \
|
||||
echo "No staged Dart files to analyze."; \
|
||||
fi
|
||||
flutter analyze --no-fatal-infos
|
||||
|
||||
.PHONY: check
|
||||
check:
|
||||
@if [ -n "$(STAGED_DART_FILES)" ]; then \
|
||||
echo "Checking staged files..."; \
|
||||
dart format --output=none --set-exit-if-changed $(STAGED_DART_FILES); \
|
||||
dart analyze $(STAGED_DART_FILES); \
|
||||
else \
|
||||
echo "No staged Dart files to check."; \
|
||||
fi
|
||||
|
||||
.PHONY: precommit
|
||||
precommit: format analyze
|
||||
@if [ -n "$(STAGED_DART_FILES)" ]; then \
|
||||
echo "Re-staging formatted files..."; \
|
||||
git add $(STAGED_DART_FILES); \
|
||||
fi
|
||||
|
||||
# Full project commands
|
||||
.PHONY: format-all
|
||||
format-all:
|
||||
dart format .
|
||||
|
||||
.PHONY: analyze-all
|
||||
analyze-all:
|
||||
flutter analyze --no-fatal-infos
|
||||
|
||||
.PHONY: check-all
|
||||
check-all:
|
||||
dart format --output=none --set-exit-if-changed .
|
||||
flutter analyze --no-fatal-infos
|
||||
|
||||
@@ -162,6 +121,10 @@ test-coverage:
|
||||
android-build-apk:
|
||||
flutter build apk --release --obfuscate --split-debug-info=build/debug-info-apk --dart-define-from-file=.env
|
||||
|
||||
.PHONY: android-build-apk-split
|
||||
android-build-apk-split:
|
||||
flutter build apk --release --split-per-abi --obfuscate --split-debug-info=build/debug-info-apk --dart-define-from-file=.env
|
||||
|
||||
.PHONY: android-install
|
||||
android-install: android-build-apk
|
||||
flutter install
|
||||
@@ -177,6 +140,10 @@ android-build-aab:
|
||||
|
||||
.PHONY: ios-build
|
||||
ios-build:
|
||||
flutter build ios --release --no-codesign --obfuscate --split-debug-info=build/debug-info-ios --dart-define-from-file=.env
|
||||
|
||||
.PHONY: ios-build-ipa
|
||||
ios-build-ipa:
|
||||
flutter build ipa --release --obfuscate --split-debug-info=build/debug-info-ios --dart-define-from-file=.env --export-options-plist=ios/ExportOptions.plist
|
||||
|
||||
.PHONY: web-build
|
||||
@@ -234,7 +201,7 @@ ios-upload:
|
||||
fi
|
||||
|
||||
.PHONY: ios-deploy
|
||||
ios-deploy: ios-build ios-upload
|
||||
ios-deploy: ios-build-ipa ios-upload
|
||||
|
||||
.PHONY: web-release
|
||||
web-release: web-build
|
||||
@@ -252,17 +219,9 @@ pods:
|
||||
cd macos && pod install --repo-update
|
||||
|
||||
# Git hooks
|
||||
.PHONY: install-precommit
|
||||
install-precommit:
|
||||
@if [ ! -f .git/hooks/pre-commit ]; then \
|
||||
echo "Installing pre-commit hook..."; \
|
||||
echo '#!/bin/sh' > .git/hooks/pre-commit; \
|
||||
echo 'make precommit' >> .git/hooks/pre-commit; \
|
||||
chmod +x .git/hooks/pre-commit; \
|
||||
echo "Pre-commit hook installed."; \
|
||||
else \
|
||||
echo "Pre-commit hook already exists, skipping."; \
|
||||
fi
|
||||
.PHONY: install-hooks
|
||||
install-hooks:
|
||||
lefthook install
|
||||
|
||||
# API
|
||||
.PHONY: fetch-openapi
|
||||
@@ -287,11 +246,14 @@ endif
|
||||
.PHONY: icons
|
||||
icons:
|
||||
mkdir -p assets/icon
|
||||
rsvg-convert -h 1024 assets/logo_icon.svg > assets/icon/icon.png
|
||||
rsvg-convert -w 1024 -h 1024 assets/logo_icon_squircle.svg > assets/icon/icon.png
|
||||
rsvg-convert -w 1024 -h 1024 assets/logo_icon_square.svg > assets/icon/icon_ios.png
|
||||
rsvg-convert -w 1024 -h 1024 assets/logo_icon_foreground.svg > assets/icon/icon_foreground.png
|
||||
dart run flutter_launcher_icons
|
||||
rsvg-convert -w 512 -h 512 assets/logo_icon_squircle.svg > fastlane/metadata/android/en-US/images/icon.png
|
||||
|
||||
.PHONY: splash
|
||||
splash:
|
||||
mkdir -p assets/icon
|
||||
rsvg-convert -h 512 --page-width 1024 --page-height 1024 --top 256 --left 256 assets/logo_icon.svg > assets/icon/splash.png
|
||||
rsvg-convert -h 1152 --page-width 1920 --page-height 1920 --top 384 --left 384 assets/logo_icon.svg > assets/icon/splash.png
|
||||
dart run flutter_native_splash:create
|
||||
|
||||
@@ -5,6 +5,7 @@ plugins {
|
||||
id("dev.flutter.flutter-gradle-plugin")
|
||||
}
|
||||
|
||||
import com.android.build.gradle.internal.api.ApkVariantOutputImpl
|
||||
import java.io.FileInputStream
|
||||
import java.util.Properties
|
||||
|
||||
@@ -49,6 +50,10 @@ android {
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
debug {
|
||||
applicationIdSuffix = ".debug"
|
||||
versionNameSuffix = "-dev"
|
||||
}
|
||||
release {
|
||||
signingConfig = if (signingConfigs.names.contains("release"))
|
||||
signingConfigs.getByName("release")
|
||||
@@ -58,6 +63,17 @@ android {
|
||||
}
|
||||
}
|
||||
|
||||
val abiCodes = mapOf("armeabi-v7a" to 1, "arm64-v8a" to 2, "x86_64" to 3)
|
||||
android.applicationVariants.configureEach {
|
||||
val variant = this
|
||||
variant.outputs.forEach { output ->
|
||||
val abiVersionCode = abiCodes[output.filters.find { it.filterType == "ABI" }?.identifier]
|
||||
if (abiVersionCode != null) {
|
||||
(output as ApkVariantOutputImpl).versionCodeOverride = variant.versionCode * 10 + abiVersionCode
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
flutter {
|
||||
source = "../.."
|
||||
}
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
<!-- The INTERNET permission is required for development. Specifically,
|
||||
the Flutter tool needs it to communicate with the running application
|
||||
to allow setting breakpoints, to provide hot reload, etc.
|
||||
-->
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
|
||||
<application android:label="Pantry Dev" tools:replace="android:label" />
|
||||
</manifest>
|
||||
|
||||
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 29 KiB |
BIN
assets/icon/icon_foreground.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
assets/icon/icon_ios.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 53 KiB |
5
assets/logo_icon_foreground.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 108 108">
|
||||
<g transform="translate(22, 22) scale(2.667)">
|
||||
<path fill="#FFFFFF" d="M12,3L2,12H5V20H19V12H22L12,3M12,8.75A2.25,2.25 0 0,1 14.25,11A2.25,2.25 0 0,1 12,13.25A2.25,2.25 0 0,1 9.75,11A2.25,2.25 0 0,1 12,8.75M12,15C13.5,15 16.5,15.75 16.5,17.25V18H7.5V17.25C7.5,15.75 10.5,15 12,15Z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 367 B |
6
assets/logo_icon_square.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||
<rect width="512" height="512" fill="#0082C9"/>
|
||||
<g transform="translate(106, 106) scale(12.5)">
|
||||
<path fill="#FFFFFF" d="M12,3L2,12H5V20H19V12H22L12,3M12,8.75A2.25,2.25 0 0,1 14.25,11A2.25,2.25 0 0,1 12,13.25A2.25,2.25 0 0,1 9.75,11A2.25,2.25 0 0,1 12,8.75M12,15C13.5,15 16.5,15.75 16.5,17.25V18H7.5V17.25C7.5,15.75 10.5,15 12,15Z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 418 B |
25
assets/logo_icon_squircle.svg
Normal file
@@ -0,0 +1,25 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<clipPath id="squircle">
|
||||
<path d="
|
||||
M256,0
|
||||
C353,0 406,0 443,18
|
||||
C468,30 482,44 494,69
|
||||
C512,106 512,159 512,256
|
||||
C512,353 512,406 494,443
|
||||
C482,468 468,482 443,494
|
||||
C406,512 353,512 256,512
|
||||
C159,512 106,512 69,494
|
||||
C44,482 30,468 18,443
|
||||
C0,406 0,353 0,256
|
||||
C0,159 0,106 18,69
|
||||
C30,44 44,30 69,18
|
||||
C106,0 159,0 256,0
|
||||
Z"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<rect width="512" height="512" fill="#0082C9" clip-path="url(#squircle)"/>
|
||||
<g transform="translate(106, 106) scale(12.5)">
|
||||
<path fill="#FFFFFF" d="M12,3L2,12H5V20H19V12H22L12,3M12,8.75A2.25,2.25 0 0,1 14.25,11A2.25,2.25 0 0,1 12,13.25A2.25,2.25 0 0,1 9.75,11A2.25,2.25 0 0,1 12,8.75M12,15C13.5,15 16.5,15.75 16.5,17.25V18H7.5V17.25C7.5,15.75 10.5,15 12,15Z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 913 B |
@@ -1,3 +1,2 @@
|
||||
# The Deliverfile allows you to store various App Store Connect metadata
|
||||
# For more information, check out the docs
|
||||
# https://docs.fastlane.tools/actions/deliver/
|
||||
metadata_path("./fastlane/metadata/ios")
|
||||
screenshots_path("./fastlane/metadata/ios/screenshots")
|
||||
|
||||
@@ -88,10 +88,15 @@ platform :android do
|
||||
|
||||
desc "Upload AAB to Google Play"
|
||||
lane :deploy do |options|
|
||||
# Write changelog if not already present (CI generates it during the
|
||||
# release PR, but this covers manual deploys).
|
||||
version_code = version_info[:build]
|
||||
changelog_dir = File.expand_path("metadata/android/en-US/changelogs", __dir__)
|
||||
FileUtils.mkdir_p(changelog_dir)
|
||||
File.write(File.join(changelog_dir, "#{version_code}.txt"), play_changelog)
|
||||
changelog_file = File.join(changelog_dir, "#{version_code}.txt")
|
||||
unless File.exist?(changelog_file)
|
||||
FileUtils.mkdir_p(changelog_dir)
|
||||
File.write(changelog_file, play_changelog)
|
||||
end
|
||||
|
||||
changed = images_changed?
|
||||
UI.message(changed ? "Images changed — uploading." : "Images unchanged — skipping.")
|
||||
@@ -117,6 +122,7 @@ platform :android do
|
||||
upload_to_play_store(
|
||||
skip_upload_aab: true,
|
||||
skip_upload_apk: true,
|
||||
skip_upload_changelogs: true,
|
||||
metadata_path: File.expand_path("metadata/android", __dir__),
|
||||
skip_upload_images: !changed,
|
||||
skip_upload_screenshots: !changed,
|
||||
@@ -164,25 +170,51 @@ platform :ios do
|
||||
ipa_path
|
||||
end
|
||||
|
||||
def sync_release_notes
|
||||
version_code = version_info[:build]
|
||||
changelog_file = File.expand_path("metadata/ios/en-US/changelogs/#{version_code}.txt", __dir__)
|
||||
notes = File.exist?(changelog_file) ? File.read(changelog_file).strip : changelog_notes
|
||||
release_notes_path = File.expand_path("metadata/ios/en-US/release_notes.txt", __dir__)
|
||||
File.write(release_notes_path, notes)
|
||||
UI.message("Synced release notes from build #{version_code} (#{notes.length} chars)")
|
||||
notes
|
||||
end
|
||||
|
||||
desc "Upload to TestFlight"
|
||||
lane :beta do
|
||||
notes = sync_release_notes
|
||||
upload_to_testflight(
|
||||
api_key: api_key,
|
||||
ipa: find_ipa,
|
||||
changelog: changelog_notes,
|
||||
changelog: notes,
|
||||
skip_waiting_for_build_processing: true,
|
||||
)
|
||||
end
|
||||
|
||||
desc "Upload to App Store"
|
||||
lane :release do
|
||||
sync_release_notes
|
||||
deliver(
|
||||
api_key: api_key,
|
||||
ipa: find_ipa,
|
||||
skip_metadata: true,
|
||||
metadata_path: File.expand_path("metadata/ios", __dir__),
|
||||
screenshots_path: File.expand_path("metadata/ios/en-US/screenshots", __dir__),
|
||||
skip_screenshots: true,
|
||||
submit_for_review: true,
|
||||
precheck_include_in_app_purchases: false,
|
||||
)
|
||||
end
|
||||
|
||||
desc "Sync iOS metadata only (no IPA upload)"
|
||||
lane :metadata do
|
||||
deliver(
|
||||
api_key: api_key,
|
||||
metadata_path: File.expand_path("metadata/ios", __dir__),
|
||||
screenshots_path: File.expand_path("metadata/ios/en-US/screenshots", __dir__),
|
||||
skip_binary_upload: true,
|
||||
skip_screenshots: true,
|
||||
submit_for_review: false,
|
||||
release_notes: { "en-US" => changelog_notes },
|
||||
precheck_include_in_app_purchases: false,
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -41,6 +41,35 @@ Promote a release from one track to another
|
||||
|
||||
----
|
||||
|
||||
|
||||
## iOS
|
||||
|
||||
### ios beta
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane ios beta
|
||||
```
|
||||
|
||||
Upload to TestFlight
|
||||
|
||||
### ios release
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane ios release
|
||||
```
|
||||
|
||||
Upload to App Store
|
||||
|
||||
### ios metadata
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane ios metadata
|
||||
```
|
||||
|
||||
Sync iOS metadata only (no IPA upload)
|
||||
|
||||
----
|
||||
|
||||
This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run.
|
||||
|
||||
More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools).
|
||||
|
||||
2
fastlane/metadata/android/en-US/changelogs/10.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Bug Fixes
|
||||
- about urls not opening
|
||||
3
fastlane/metadata/android/en-US/changelogs/11.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
Features
|
||||
- add more icons to categories
|
||||
- allow adding one-off list items
|
||||
3
fastlane/metadata/android/en-US/changelogs/12.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
Features
|
||||
- add search in lists
|
||||
- allow uploading list item image
|
||||
2
fastlane/metadata/android/en-US/changelogs/13.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Build System
|
||||
- add abi split
|
||||
2
fastlane/metadata/android/en-US/changelogs/14.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Build System
|
||||
- reproducible build
|
||||
8
fastlane/metadata/android/en-US/changelogs/5.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Features
|
||||
|
||||
- improve main page navigations
|
||||
- move items between lists
|
||||
|
||||
Bug Fixes
|
||||
|
||||
- support back button when in photos foldeer
|
||||
7
fastlane/metadata/android/en-US/changelogs/6.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Features
|
||||
|
||||
- add hebrew language translation
|
||||
|
||||
Bug Fixes
|
||||
|
||||
- description field in items saving+displaying
|
||||
6
fastlane/metadata/android/en-US/changelogs/7.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
Features
|
||||
- add de, es, fr locales
|
||||
Bug Fixes
|
||||
- allow arbitrary text in quantity
|
||||
- improve rtl layout spacings
|
||||
- rtl layout + switching
|
||||
5
fastlane/metadata/android/en-US/changelogs/8.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
Features
|
||||
- show next due date for list items
|
||||
Bug Fixes
|
||||
- appbar icon spacings
|
||||
- improve i18n recurrence string rules
|
||||
2
fastlane/metadata/android/en-US/changelogs/9.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Features
|
||||
- add about page
|
||||
@@ -10,7 +10,7 @@ Upload and organize photos into folders. Add captions, drag to reorder, and brow
|
||||
Keep shared notes with your household. Color-code them, write in markdown, and pin the important stuff where everyone can see it.
|
||||
|
||||
* Your data, your server
|
||||
Pantry connects directly to your self-hosted Nextcloud instance. No accounts to create, no cloud services in between. Your data never leaves your server.
|
||||
Pantry connects directly to your Nextcloud instance. No accounts to create, no cloud services in between. Your data never leaves your server.
|
||||
|
||||
* Features
|
||||
- Shared checklists with categories, quantities, and recurrence
|
||||
@@ -20,6 +20,6 @@ Pantry connects directly to your self-hosted Nextcloud instance. No accounts to
|
||||
- Multi-select for bulk actions
|
||||
- Offline caching for fast loading
|
||||
- Material Design 3 with dark mode support
|
||||
- Nextcloud Login Flow v2 authentication
|
||||
- Secure login flow authentication
|
||||
|
||||
* Pantry requires a Nextcloud server with the Pantry app installed. Visit the project page for setup instructions.
|
||||
* Requires a Nextcloud server with the Pantry app installed. Visit the project page for setup instructions.
|
||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
@@ -1 +1 @@
|
||||
Manage your household with your Nextcloud — lists, photos & notes.
|
||||
Manage your household — shared lists, photos & notes on your own server.
|
||||
@@ -1 +1 @@
|
||||
Nextcloud Pantry
|
||||
Pantry for Nextcloud
|
||||
1
fastlane/metadata/ios/copyright.txt
Normal file
@@ -0,0 +1 @@
|
||||
2026 Chen Asraf
|
||||
1
fastlane/metadata/ios/en-US/apple_tv_privacy_policy.txt
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
2
fastlane/metadata/ios/en-US/changelogs/10.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Bug Fixes
|
||||
- about urls not opening
|
||||
3
fastlane/metadata/ios/en-US/changelogs/11.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
Features
|
||||
- add more icons to categories
|
||||
- allow adding one-off list items
|
||||
3
fastlane/metadata/ios/en-US/changelogs/12.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
Features
|
||||
- add search in lists
|
||||
- allow uploading list item image
|
||||
2
fastlane/metadata/ios/en-US/changelogs/13.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Build System
|
||||
- add abi split
|
||||
2
fastlane/metadata/ios/en-US/changelogs/14.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Build System
|
||||
- reproducible build
|
||||
25
fastlane/metadata/ios/en-US/description.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
Pantry is a companion app for the Nextcloud Pantry server app. It lets you and your household members collaborate on shared checklists, a photo board, and a notes wall — all stored on your own Nextcloud server.
|
||||
|
||||
* Checklists
|
||||
Create shopping lists and to-do lists with categories, quantities, recurring items, and images. Drag to reorder, sort by name or date, and check items off as you go.
|
||||
|
||||
* Photo Board
|
||||
Upload and organize photos into folders. Add captions, drag to reorder, and browse everything in a clean grid view.
|
||||
|
||||
* Notes Wall
|
||||
Keep shared notes with your household. Color-code them, write in markdown, and pin the important stuff where everyone can see it.
|
||||
|
||||
* Your data, your server
|
||||
Pantry connects directly to your Nextcloud instance. No accounts to create, no cloud services in between. Your data never leaves your server.
|
||||
|
||||
* Features
|
||||
- Shared checklists with categories, quantities, and recurrence
|
||||
- Photo board with folders, captions, and multi-upload
|
||||
- Color-coded notes wall
|
||||
- Drag-and-drop reordering everywhere
|
||||
- Multi-select for bulk actions
|
||||
- Offline caching for fast loading
|
||||
- Material Design 3 with dark mode support
|
||||
- Secure login flow authentication
|
||||
|
||||
* Requires a Nextcloud server with the Pantry app installed. Visit the project page for setup instructions.
|
||||
1
fastlane/metadata/ios/en-US/keywords.txt
Normal file
@@ -0,0 +1 @@
|
||||
nextcloud, checklist, todo, shopping list, notes, self-hosted, household
|
||||
1
fastlane/metadata/ios/en-US/marketing_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/chenasraf/pantry-flutter
|
||||
1
fastlane/metadata/ios/en-US/name.txt
Normal file
@@ -0,0 +1 @@
|
||||
Pantry for Nextcloud
|
||||
1
fastlane/metadata/ios/en-US/privacy_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://casraf.dev/pantry-privacy-policy
|
||||
1
fastlane/metadata/ios/en-US/promotional_text.txt
Normal file
@@ -0,0 +1 @@
|
||||
Manage your household on your Nextcloud — shared lists, photos & notes.
|
||||
|
After Width: | Height: | Size: 171 KiB |
BIN
fastlane/metadata/ios/en-US/screenshots/0_APP_IPHONE_67_0.png
Normal file
|
After Width: | Height: | Size: 177 KiB |
|
After Width: | Height: | Size: 685 KiB |
BIN
fastlane/metadata/ios/en-US/screenshots/1_APP_IPHONE_67_1.png
Normal file
|
After Width: | Height: | Size: 882 KiB |
|
After Width: | Height: | Size: 210 KiB |
BIN
fastlane/metadata/ios/en-US/screenshots/2_APP_IPHONE_67_2.png
Normal file
|
After Width: | Height: | Size: 229 KiB |
1
fastlane/metadata/ios/en-US/subtitle.txt
Normal file
@@ -0,0 +1 @@
|
||||
Home lists, photos & notes
|
||||
1
fastlane/metadata/ios/en-US/support_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/chenasraf/pantry-flutter
|
||||
1
fastlane/metadata/ios/primary_category.txt
Normal file
@@ -0,0 +1 @@
|
||||
PRODUCTIVITY
|
||||
1
fastlane/metadata/ios/primary_first_sub_category.txt
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
fastlane/metadata/ios/primary_second_sub_category.txt
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
EQq38!t9uA!@RdAkn6umJHo@nDh3ZZwM
|
||||
1
fastlane/metadata/ios/review_information/demo_user.txt
Normal file
@@ -0,0 +1 @@
|
||||
store-test
|
||||
@@ -0,0 +1 @@
|
||||
casraf@pm.me
|
||||
1
fastlane/metadata/ios/review_information/first_name.txt
Normal file
@@ -0,0 +1 @@
|
||||
Chen
|
||||
1
fastlane/metadata/ios/review_information/last_name.txt
Normal file
@@ -0,0 +1 @@
|
||||
Asraf
|
||||
3
fastlane/metadata/ios/review_information/notes.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
1. In the login screen, for the server, use: spider.casraf.dev and click "Connect"
|
||||
2. Use the given username/password to sign in to the Nextcloud website loaded in the in-app browser
|
||||
3. Click "Grant Access" to grant access to the app inside the in-app browser
|
||||
@@ -0,0 +1 @@
|
||||
+972549107970
|
||||
1
fastlane/metadata/ios/secondary_category.txt
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
fastlane/metadata/ios/secondary_first_sub_category.txt
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
fastlane/metadata/ios/secondary_second_sub_category.txt
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
20
ios/ExportOptions.plist
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>method</key>
|
||||
<string>app-store-connect</string>
|
||||
<key>destination</key>
|
||||
<string>export</string>
|
||||
<key>signingStyle</key>
|
||||
<string>automatic</string>
|
||||
<key>stripSwiftSymbols</key>
|
||||
<true/>
|
||||
<key>uploadBitcode</key>
|
||||
<false/>
|
||||
<key>uploadSymbols</key>
|
||||
<true/>
|
||||
<key>teamID</key>
|
||||
<string>Y893L6NQP2</string>
|
||||
</dict>
|
||||
</plist>
|
||||
72
ios/Podfile.lock
Normal file
@@ -0,0 +1,72 @@
|
||||
PODS:
|
||||
- Flutter (1.0.0)
|
||||
- flutter_local_notifications (0.0.1):
|
||||
- Flutter
|
||||
- flutter_native_splash (2.4.3):
|
||||
- Flutter
|
||||
- flutter_secure_storage_darwin (10.0.0):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- image_picker_ios (0.0.1):
|
||||
- Flutter
|
||||
- package_info_plus (0.4.5):
|
||||
- Flutter
|
||||
- sqflite_darwin (0.0.4):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- url_launcher_ios (0.0.1):
|
||||
- Flutter
|
||||
- wakelock_plus (0.0.1):
|
||||
- Flutter
|
||||
- workmanager_apple (0.0.1):
|
||||
- Flutter
|
||||
|
||||
DEPENDENCIES:
|
||||
- Flutter (from `Flutter`)
|
||||
- flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
|
||||
- flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`)
|
||||
- flutter_secure_storage_darwin (from `.symlinks/plugins/flutter_secure_storage_darwin/darwin`)
|
||||
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
||||
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
|
||||
- sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`)
|
||||
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
||||
- wakelock_plus (from `.symlinks/plugins/wakelock_plus/ios`)
|
||||
- workmanager_apple (from `.symlinks/plugins/workmanager_apple/ios`)
|
||||
|
||||
EXTERNAL SOURCES:
|
||||
Flutter:
|
||||
:path: Flutter
|
||||
flutter_local_notifications:
|
||||
:path: ".symlinks/plugins/flutter_local_notifications/ios"
|
||||
flutter_native_splash:
|
||||
:path: ".symlinks/plugins/flutter_native_splash/ios"
|
||||
flutter_secure_storage_darwin:
|
||||
:path: ".symlinks/plugins/flutter_secure_storage_darwin/darwin"
|
||||
image_picker_ios:
|
||||
:path: ".symlinks/plugins/image_picker_ios/ios"
|
||||
package_info_plus:
|
||||
:path: ".symlinks/plugins/package_info_plus/ios"
|
||||
sqflite_darwin:
|
||||
:path: ".symlinks/plugins/sqflite_darwin/darwin"
|
||||
url_launcher_ios:
|
||||
:path: ".symlinks/plugins/url_launcher_ios/ios"
|
||||
wakelock_plus:
|
||||
:path: ".symlinks/plugins/wakelock_plus/ios"
|
||||
workmanager_apple:
|
||||
:path: ".symlinks/plugins/workmanager_apple/ios"
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467
|
||||
flutter_local_notifications: 395056b3175ba4f08480a7c5de30cd36d69827e4
|
||||
flutter_native_splash: c32d145d68aeda5502d5f543ee38c192065986cf
|
||||
flutter_secure_storage_darwin: acdb3f316ed05a3e68f856e0353b133eec373a23
|
||||
image_picker_ios: e0ece4aa2a75771a7de3fa735d26d90817041326
|
||||
package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499
|
||||
sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
|
||||
url_launcher_ios: 7a95fa5b60cc718a708b8f2966718e93db0cef1b
|
||||
wakelock_plus: e29112ab3ef0b318e58cfa5c32326458be66b556
|
||||
workmanager_apple: 904529ae31e97fc5be632cf628507652294a0778
|
||||
|
||||
PODFILE CHECKSUM: 3c63482e143d1b91d2d2560aee9fb04ecc74ac7e
|
||||
|
||||
COCOAPODS: 1.16.2
|
||||
@@ -10,11 +10,13 @@
|
||||
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
|
||||
331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; };
|
||||
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
|
||||
4B2FECE151D6658169DC6E88 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E836629E52B02A5B6D0F862 /* Pods_RunnerTests.framework */; };
|
||||
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
|
||||
7884E8682EC3CC0700C636F2 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */; };
|
||||
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
||||
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
|
||||
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
|
||||
F60DBFA38F344890F84CD5E3 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31D13B974C1302A5F0CE86D2 /* Pods_Runner.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
@@ -41,15 +43,21 @@
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
0D02B01150F8705A7BE3C6D1 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
|
||||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
||||
1E836629E52B02A5B6D0F862 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
31D13B974C1302A5F0CE86D2 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; };
|
||||
331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
||||
736C2329657A6FBB9CE1D305 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = "<group>"; };
|
||||
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
|
||||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
||||
9152653CE8E162FC342F1495 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
|
||||
91DAEB15490ECD076B82EE80 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
|
||||
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
|
||||
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
@@ -57,13 +65,24 @@
|
||||
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
C28EA37C4C36CE14FE19E720 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
ECEC55E4DC05821BB0BEA50F /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
55917F8B3405971C4327A3FF /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4B2FECE151D6658169DC6E88 /* Pods_RunnerTests.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
97C146EB1CF9000F007C117D /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
F60DBFA38F344890F84CD5E3 /* Pods_Runner.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -78,6 +97,15 @@
|
||||
path = RunnerTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
43389EC5ADFFCB84CB05BC4D /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
31D13B974C1302A5F0CE86D2 /* Pods_Runner.framework */,
|
||||
1E836629E52B02A5B6D0F862 /* Pods_RunnerTests.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9740EEB11CF90186004384FC /* Flutter */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -96,6 +124,8 @@
|
||||
97C146F01CF9000F007C117D /* Runner */,
|
||||
97C146EF1CF9000F007C117D /* Products */,
|
||||
331C8082294A63A400263BE5 /* RunnerTests */,
|
||||
ECEC5B714C9B60C200CF4964 /* Pods */,
|
||||
43389EC5ADFFCB84CB05BC4D /* Frameworks */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
@@ -124,6 +154,20 @@
|
||||
path = Runner;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
ECEC5B714C9B60C200CF4964 /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
C28EA37C4C36CE14FE19E720 /* Pods-Runner.debug.xcconfig */,
|
||||
9152653CE8E162FC342F1495 /* Pods-Runner.release.xcconfig */,
|
||||
ECEC55E4DC05821BB0BEA50F /* Pods-Runner.profile.xcconfig */,
|
||||
0D02B01150F8705A7BE3C6D1 /* Pods-RunnerTests.debug.xcconfig */,
|
||||
91DAEB15490ECD076B82EE80 /* Pods-RunnerTests.release.xcconfig */,
|
||||
736C2329657A6FBB9CE1D305 /* Pods-RunnerTests.profile.xcconfig */,
|
||||
);
|
||||
name = Pods;
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@@ -131,8 +175,10 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
|
||||
buildPhases = (
|
||||
4A2D8C6F279F4D6D91B49883 /* [CP] Check Pods Manifest.lock */,
|
||||
331C807D294A63A400263BE5 /* Sources */,
|
||||
331C807F294A63A400263BE5 /* Resources */,
|
||||
55917F8B3405971C4327A3FF /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -148,12 +194,14 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
|
||||
buildPhases = (
|
||||
EF96284EEFC2A4AB894F692E /* [CP] Check Pods Manifest.lock */,
|
||||
9740EEB61CF901F6004384FC /* Run Script */,
|
||||
97C146EA1CF9000F007C117D /* Sources */,
|
||||
97C146EB1CF9000F007C117D /* Frameworks */,
|
||||
97C146EC1CF9000F007C117D /* Resources */,
|
||||
9705A1C41CF9048500538489 /* Embed Frameworks */,
|
||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
|
||||
60CC7BE4F08CFECA259D64E9 /* [CP] Embed Pods Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -241,6 +289,45 @@
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
|
||||
};
|
||||
4A2D8C6F279F4D6D91B49883 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
60CC7BE4F08CFECA259D64E9 /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
9740EEB61CF901F6004384FC /* Run Script */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
alwaysOutOfDate = 1;
|
||||
@@ -256,6 +343,28 @@
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
|
||||
};
|
||||
EF96284EEFC2A4AB894F692E /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
@@ -369,6 +478,9 @@
|
||||
DEVELOPMENT_TEAM = Y893L6NQP2;
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = Runner/Info.plist;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = "Nextcloud Pantry";
|
||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.productivity";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
@@ -383,6 +495,7 @@
|
||||
};
|
||||
331C8088294A63A400263BE5 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 0D02B01150F8705A7BE3C6D1 /* Pods-RunnerTests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
@@ -400,6 +513,7 @@
|
||||
};
|
||||
331C8089294A63A400263BE5 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 91DAEB15490ECD076B82EE80 /* Pods-RunnerTests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
@@ -415,6 +529,7 @@
|
||||
};
|
||||
331C808A294A63A400263BE5 /* Profile */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 736C2329657A6FBB9CE1D305 /* Pods-RunnerTests.profile.xcconfig */;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
@@ -549,6 +664,9 @@
|
||||
DEVELOPMENT_TEAM = Y893L6NQP2;
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = Runner/Info.plist;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = "Nextcloud Pantry";
|
||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.productivity";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
@@ -568,16 +686,22 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_IDENTITY = "Apple Distribution";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||
DEVELOPMENT_TEAM = Y893L6NQP2;
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = Runner/Info.plist;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = "Nextcloud Pantry";
|
||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.productivity";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = dev.casraf.pantry;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "Pantry Distribution";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||
SWIFT_VERSION = 5.0;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
|
||||
3
ios/Runner.xcworkspace/contents.xcworkspacedata
generated
@@ -4,4 +4,7 @@
|
||||
<FileRef
|
||||
location = "group:Runner.xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:Pods/Pods.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
|
||||
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 649 B After Width: | Height: | Size: 299 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 567 B |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 842 B |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 451 B |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 846 B |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.3 KiB |