add fastlane build config, update ios project settings with required entitlements and dev team id, add an app icon that is accepted by apple
11
.gitignore
vendored
@@ -54,3 +54,14 @@ app.*.map.json
|
||||
/vendor/bundle/ruby/
|
||||
/coverage/
|
||||
/lib/l10n/generated/
|
||||
|
||||
# ios build and fastlane
|
||||
ios/fastlane/.env
|
||||
ios/fastlane/*.p8
|
||||
ios/fastlane/test_output
|
||||
ios/fastlane/screenshots
|
||||
ios/fastlane/report.xml
|
||||
ios/fastlane/Preview.html
|
||||
ios/fastlane/output
|
||||
ios/Runner.ipa
|
||||
ios/Runner.app.dSYM.zip
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
json_key_file("fastlane/metadata/android/envfiles/playstore.json")
|
||||
package_name("de.wger.flutter")
|
||||
package_name("de.wger.flutter.community")
|
||||
|
||||
3
ios/Gemfile
Normal file
@@ -0,0 +1,3 @@
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "fastlane"
|
||||
222
ios/Gemfile.lock
Normal file
@@ -0,0 +1,222 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
CFPropertyList (3.0.7)
|
||||
base64
|
||||
nkf
|
||||
rexml
|
||||
addressable (2.8.7)
|
||||
public_suffix (>= 2.0.2, < 7.0)
|
||||
artifactory (3.0.17)
|
||||
atomos (0.1.3)
|
||||
aws-eventstream (1.3.0)
|
||||
aws-partitions (1.1018.0)
|
||||
aws-sdk-core (3.214.0)
|
||||
aws-eventstream (~> 1, >= 1.3.0)
|
||||
aws-partitions (~> 1, >= 1.992.0)
|
||||
aws-sigv4 (~> 1.9)
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-kms (1.96.0)
|
||||
aws-sdk-core (~> 3, >= 3.210.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sdk-s3 (1.176.0)
|
||||
aws-sdk-core (~> 3, >= 3.210.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sigv4 (1.10.1)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
babosa (1.0.4)
|
||||
base64 (0.2.0)
|
||||
claide (1.1.0)
|
||||
colored (1.2)
|
||||
colored2 (3.1.2)
|
||||
commander (4.6.0)
|
||||
highline (~> 2.0.0)
|
||||
declarative (0.0.20)
|
||||
digest-crc (0.6.5)
|
||||
rake (>= 12.0.0, < 14.0.0)
|
||||
domain_name (0.6.20240107)
|
||||
dotenv (2.8.1)
|
||||
emoji_regex (3.2.3)
|
||||
excon (0.112.0)
|
||||
faraday (1.10.4)
|
||||
faraday-em_http (~> 1.0)
|
||||
faraday-em_synchrony (~> 1.0)
|
||||
faraday-excon (~> 1.1)
|
||||
faraday-httpclient (~> 1.0)
|
||||
faraday-multipart (~> 1.0)
|
||||
faraday-net_http (~> 1.0)
|
||||
faraday-net_http_persistent (~> 1.0)
|
||||
faraday-patron (~> 1.0)
|
||||
faraday-rack (~> 1.0)
|
||||
faraday-retry (~> 1.0)
|
||||
ruby2_keywords (>= 0.0.4)
|
||||
faraday-cookie_jar (0.0.7)
|
||||
faraday (>= 0.8.0)
|
||||
http-cookie (~> 1.0.0)
|
||||
faraday-em_http (1.0.0)
|
||||
faraday-em_synchrony (1.0.0)
|
||||
faraday-excon (1.1.0)
|
||||
faraday-httpclient (1.0.1)
|
||||
faraday-multipart (1.0.4)
|
||||
multipart-post (~> 2)
|
||||
faraday-net_http (1.0.2)
|
||||
faraday-net_http_persistent (1.2.0)
|
||||
faraday-patron (1.0.0)
|
||||
faraday-rack (1.0.0)
|
||||
faraday-retry (1.0.3)
|
||||
faraday_middleware (1.2.1)
|
||||
faraday (~> 1.0)
|
||||
fastimage (2.3.1)
|
||||
fastlane (2.225.0)
|
||||
CFPropertyList (>= 2.3, < 4.0.0)
|
||||
addressable (>= 2.8, < 3.0.0)
|
||||
artifactory (~> 3.0)
|
||||
aws-sdk-s3 (~> 1.0)
|
||||
babosa (>= 1.0.3, < 2.0.0)
|
||||
bundler (>= 1.12.0, < 3.0.0)
|
||||
colored (~> 1.2)
|
||||
commander (~> 4.6)
|
||||
dotenv (>= 2.1.1, < 3.0.0)
|
||||
emoji_regex (>= 0.1, < 4.0)
|
||||
excon (>= 0.71.0, < 1.0.0)
|
||||
faraday (~> 1.0)
|
||||
faraday-cookie_jar (~> 0.0.6)
|
||||
faraday_middleware (~> 1.0)
|
||||
fastimage (>= 2.1.0, < 3.0.0)
|
||||
fastlane-sirp (>= 1.0.0)
|
||||
gh_inspector (>= 1.1.2, < 2.0.0)
|
||||
google-apis-androidpublisher_v3 (~> 0.3)
|
||||
google-apis-playcustomapp_v1 (~> 0.1)
|
||||
google-cloud-env (>= 1.6.0, < 2.0.0)
|
||||
google-cloud-storage (~> 1.31)
|
||||
highline (~> 2.0)
|
||||
http-cookie (~> 1.0.5)
|
||||
json (< 3.0.0)
|
||||
jwt (>= 2.1.0, < 3)
|
||||
mini_magick (>= 4.9.4, < 5.0.0)
|
||||
multipart-post (>= 2.0.0, < 3.0.0)
|
||||
naturally (~> 2.2)
|
||||
optparse (>= 0.1.1, < 1.0.0)
|
||||
plist (>= 3.1.0, < 4.0.0)
|
||||
rubyzip (>= 2.0.0, < 3.0.0)
|
||||
security (= 0.1.5)
|
||||
simctl (~> 1.6.3)
|
||||
terminal-notifier (>= 2.0.0, < 3.0.0)
|
||||
terminal-table (~> 3)
|
||||
tty-screen (>= 0.6.3, < 1.0.0)
|
||||
tty-spinner (>= 0.8.0, < 1.0.0)
|
||||
word_wrap (~> 1.0.0)
|
||||
xcodeproj (>= 1.13.0, < 2.0.0)
|
||||
xcpretty (~> 0.3.0)
|
||||
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
|
||||
fastlane-sirp (1.0.0)
|
||||
sysrandom (~> 1.0)
|
||||
gh_inspector (1.1.3)
|
||||
google-apis-androidpublisher_v3 (0.54.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-core (0.11.3)
|
||||
addressable (~> 2.5, >= 2.5.1)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
httpclient (>= 2.8.1, < 3.a)
|
||||
mini_mime (~> 1.0)
|
||||
representable (~> 3.0)
|
||||
retriable (>= 2.0, < 4.a)
|
||||
rexml
|
||||
google-apis-iamcredentials_v1 (0.17.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-playcustomapp_v1 (0.13.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-storage_v1 (0.31.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-cloud-core (1.7.1)
|
||||
google-cloud-env (>= 1.0, < 3.a)
|
||||
google-cloud-errors (~> 1.0)
|
||||
google-cloud-env (1.6.0)
|
||||
faraday (>= 0.17.3, < 3.0)
|
||||
google-cloud-errors (1.4.0)
|
||||
google-cloud-storage (1.47.0)
|
||||
addressable (~> 2.8)
|
||||
digest-crc (~> 0.4)
|
||||
google-apis-iamcredentials_v1 (~> 0.1)
|
||||
google-apis-storage_v1 (~> 0.31.0)
|
||||
google-cloud-core (~> 1.6)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
mini_mime (~> 1.0)
|
||||
googleauth (1.8.1)
|
||||
faraday (>= 0.17.3, < 3.a)
|
||||
jwt (>= 1.4, < 3.0)
|
||||
multi_json (~> 1.11)
|
||||
os (>= 0.9, < 2.0)
|
||||
signet (>= 0.16, < 2.a)
|
||||
highline (2.0.3)
|
||||
http-cookie (1.0.8)
|
||||
domain_name (~> 0.5)
|
||||
httpclient (2.8.3)
|
||||
jmespath (1.6.2)
|
||||
json (2.9.0)
|
||||
jwt (2.9.3)
|
||||
base64
|
||||
mini_magick (4.13.2)
|
||||
mini_mime (1.1.5)
|
||||
multi_json (1.15.0)
|
||||
multipart-post (2.4.1)
|
||||
nanaimo (0.4.0)
|
||||
naturally (2.2.1)
|
||||
nkf (0.2.0)
|
||||
optparse (0.6.0)
|
||||
os (1.1.4)
|
||||
plist (3.7.1)
|
||||
public_suffix (6.0.1)
|
||||
rake (13.2.1)
|
||||
representable (3.2.0)
|
||||
declarative (< 0.1.0)
|
||||
trailblazer-option (>= 0.1.1, < 0.2.0)
|
||||
uber (< 0.2.0)
|
||||
retriable (3.1.2)
|
||||
rexml (3.3.9)
|
||||
rouge (2.0.7)
|
||||
ruby2_keywords (0.0.5)
|
||||
rubyzip (2.3.2)
|
||||
security (0.1.5)
|
||||
signet (0.19.0)
|
||||
addressable (~> 2.8)
|
||||
faraday (>= 0.17.5, < 3.a)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
multi_json (~> 1.10)
|
||||
simctl (1.6.10)
|
||||
CFPropertyList
|
||||
naturally
|
||||
sysrandom (1.0.5)
|
||||
terminal-notifier (2.0.0)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
trailblazer-option (0.1.2)
|
||||
tty-cursor (0.7.1)
|
||||
tty-screen (0.8.2)
|
||||
tty-spinner (0.9.3)
|
||||
tty-cursor (~> 0.7)
|
||||
uber (0.1.0)
|
||||
unicode-display_width (2.6.0)
|
||||
word_wrap (1.0.0)
|
||||
xcodeproj (1.27.0)
|
||||
CFPropertyList (>= 2.3.3, < 4.0)
|
||||
atomos (~> 0.1.3)
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
colored2 (~> 3.1)
|
||||
nanaimo (~> 0.4.0)
|
||||
rexml (>= 3.3.6, < 4.0)
|
||||
xcpretty (0.3.0)
|
||||
rouge (~> 2.0.7)
|
||||
xcpretty-travis-formatter (1.0.1)
|
||||
xcpretty (~> 0.2, >= 0.0.7)
|
||||
|
||||
PLATFORMS
|
||||
arm64-darwin-24
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
fastlane
|
||||
|
||||
BUNDLED WITH
|
||||
2.5.18
|
||||
@@ -2,8 +2,6 @@ PODS:
|
||||
- camera_avfoundation (0.0.1):
|
||||
- Flutter
|
||||
- Flutter (1.0.0)
|
||||
- flutter_barcode_scanner (2.0.0):
|
||||
- Flutter
|
||||
- flutter_keyboard_visibility (0.0.1):
|
||||
- Flutter
|
||||
- flutter_zxing (0.0.1):
|
||||
@@ -24,21 +22,21 @@ PODS:
|
||||
- shared_preferences_foundation (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- sqlite3 (3.48.0):
|
||||
- sqlite3/common (= 3.48.0)
|
||||
- sqlite3/common (3.48.0)
|
||||
- sqlite3/dbstatvtab (3.48.0):
|
||||
- sqlite3 (3.49.1):
|
||||
- sqlite3/common (= 3.49.1)
|
||||
- sqlite3/common (3.49.1)
|
||||
- sqlite3/dbstatvtab (3.49.1):
|
||||
- sqlite3/common
|
||||
- sqlite3/fts5 (3.48.0):
|
||||
- sqlite3/fts5 (3.49.1):
|
||||
- sqlite3/common
|
||||
- sqlite3/perf-threadsafe (3.48.0):
|
||||
- sqlite3/perf-threadsafe (3.49.1):
|
||||
- sqlite3/common
|
||||
- sqlite3/rtree (3.48.0):
|
||||
- sqlite3/rtree (3.49.1):
|
||||
- sqlite3/common
|
||||
- sqlite3_flutter_libs (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- sqlite3 (~> 3.48.0)
|
||||
- sqlite3 (~> 3.49.1)
|
||||
- sqlite3/dbstatvtab
|
||||
- sqlite3/fts5
|
||||
- sqlite3/perf-threadsafe
|
||||
@@ -52,7 +50,6 @@ PODS:
|
||||
DEPENDENCIES:
|
||||
- camera_avfoundation (from `.symlinks/plugins/camera_avfoundation/ios`)
|
||||
- Flutter (from `Flutter`)
|
||||
- flutter_barcode_scanner (from `.symlinks/plugins/flutter_barcode_scanner/ios`)
|
||||
- flutter_keyboard_visibility (from `.symlinks/plugins/flutter_keyboard_visibility/ios`)
|
||||
- flutter_zxing (from `.symlinks/plugins/flutter_zxing/ios`)
|
||||
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
||||
@@ -75,8 +72,6 @@ EXTERNAL SOURCES:
|
||||
:path: ".symlinks/plugins/camera_avfoundation/ios"
|
||||
Flutter:
|
||||
:path: Flutter
|
||||
flutter_barcode_scanner:
|
||||
:path: ".symlinks/plugins/flutter_barcode_scanner/ios"
|
||||
flutter_keyboard_visibility:
|
||||
:path: ".symlinks/plugins/flutter_keyboard_visibility/ios"
|
||||
flutter_zxing:
|
||||
@@ -105,7 +100,6 @@ EXTERNAL SOURCES:
|
||||
SPEC CHECKSUMS:
|
||||
camera_avfoundation: 04b44aeb14070126c6529e5ab82cc7c9fca107cf
|
||||
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
|
||||
flutter_barcode_scanner: c5aa9f51c150a6242fa392386bd52b64bb27fcb5
|
||||
flutter_keyboard_visibility: 4625131e43015dbbe759d9b20daaf77e0e3f6619
|
||||
flutter_zxing: e741c4f3335db8910e5c396c4291cdfb320859dc
|
||||
image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a
|
||||
@@ -115,8 +109,8 @@ SPEC CHECKSUMS:
|
||||
pointer_interceptor_ios: ec847ef8b0915778bed2b2cef636f4d177fa8eed
|
||||
rive_common: dd421daaf9ae69f0125aa761dd96abd278399952
|
||||
shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
|
||||
sqlite3: 3da10a59910c809fb584a93aa46a3f05b785e12e
|
||||
sqlite3_flutter_libs: c26d86af4ad88f1465dc4e07e6dc6931eef228e4
|
||||
sqlite3: fc1400008a9b3525f5914ed715a5d1af0b8f4983
|
||||
sqlite3_flutter_libs: f8fc13346870e73fe35ebf6dbb997fbcd156b241
|
||||
url_launcher_ios: 694010445543906933d732453a59da0a173ae33d
|
||||
video_player_avfoundation: 2cef49524dd1f16c5300b9cd6efd9611ce03639b
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
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>"; };
|
||||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
||||
8D383D452D8E929100066A20 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; 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; };
|
||||
@@ -102,6 +103,7 @@
|
||||
97C146F01CF9000F007C117D /* Runner */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D383D452D8E929100066A20 /* Runner.entitlements */,
|
||||
97C146FA1CF9000F007C117D /* Main.storyboard */,
|
||||
97C146FD1CF9000F007C117D /* Assets.xcassets */,
|
||||
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
|
||||
@@ -357,8 +359,9 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||
DEVELOPMENT_TEAM = 643RNGR6QG;
|
||||
DEVELOPMENT_TEAM = U92KZ4HZ4C;
|
||||
ENABLE_BITCODE = NO;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
@@ -373,7 +376,8 @@
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/Flutter",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = de.wger.flutter;
|
||||
MARKETING_VERSION = 1.8.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = de.wger.flutter.community;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||
SWIFT_VERSION = 5.0;
|
||||
@@ -494,8 +498,9 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||
DEVELOPMENT_TEAM = 643RNGR6QG;
|
||||
DEVELOPMENT_TEAM = U92KZ4HZ4C;
|
||||
ENABLE_BITCODE = NO;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
@@ -510,7 +515,8 @@
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/Flutter",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = de.wger.flutter;
|
||||
MARKETING_VERSION = 1.8.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = de.wger.flutter.community;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
@@ -525,8 +531,9 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||
DEVELOPMENT_TEAM = 643RNGR6QG;
|
||||
DEVELOPMENT_TEAM = U92KZ4HZ4C;
|
||||
ENABLE_BITCODE = NO;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
@@ -541,7 +548,8 @@
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/Flutter",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = de.wger.flutter;
|
||||
MARKETING_VERSION = 1.8.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = de.wger.flutter.community;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||
SWIFT_VERSION = 5.0;
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
enableGPUValidationMode = "1"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
|
||||
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/167.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/20.png
Normal file
|
After Width: | Height: | Size: 765 B |
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/50.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/72.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/76.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
@@ -1,122 +1,158 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"size" : "20x20",
|
||||
"filename" : "40.png",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-App-20x20@2x.png",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"size" : "20x20",
|
||||
"filename" : "60.png",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-App-20x20@3x.png",
|
||||
"scale" : "3x"
|
||||
"scale" : "3x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"filename" : "29.png",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-App-29x29@1x.png",
|
||||
"scale" : "1x"
|
||||
"scale" : "1x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"filename" : "58.png",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-App-29x29@2x.png",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"filename" : "87.png",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-App-29x29@3x.png",
|
||||
"scale" : "3x"
|
||||
"scale" : "3x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"filename" : "80.png",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-App-40x40@2x.png",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"filename" : "120.png",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-App-40x40@3x.png",
|
||||
"scale" : "3x"
|
||||
"scale" : "3x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"size" : "60x60",
|
||||
"filename" : "57.png",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-App-60x60@2x.png",
|
||||
"scale" : "2x"
|
||||
"scale" : "1x",
|
||||
"size" : "57x57"
|
||||
},
|
||||
{
|
||||
"size" : "60x60",
|
||||
"filename" : "114.png",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-App-60x60@3x.png",
|
||||
"scale" : "3x"
|
||||
"scale" : "2x",
|
||||
"size" : "57x57"
|
||||
},
|
||||
{
|
||||
"size" : "20x20",
|
||||
"filename" : "120.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "60x60"
|
||||
},
|
||||
{
|
||||
"filename" : "180.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "60x60"
|
||||
},
|
||||
{
|
||||
"filename" : "20.png",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-App-20x20@1x.png",
|
||||
"scale" : "1x"
|
||||
"scale" : "1x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"size" : "20x20",
|
||||
"filename" : "40.png",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-App-20x20@2x.png",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"filename" : "29.png",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-App-29x29@1x.png",
|
||||
"scale" : "1x"
|
||||
"scale" : "1x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"filename" : "58.png",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-App-29x29@2x.png",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"filename" : "40.png",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-App-40x40@1x.png",
|
||||
"scale" : "1x"
|
||||
"scale" : "1x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"filename" : "80.png",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-App-40x40@2x.png",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"size" : "76x76",
|
||||
"filename" : "50.png",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-App-76x76@1x.png",
|
||||
"scale" : "1x"
|
||||
"scale" : "1x",
|
||||
"size" : "50x50"
|
||||
},
|
||||
{
|
||||
"size" : "76x76",
|
||||
"filename" : "100.png",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-App-76x76@2x.png",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "50x50"
|
||||
},
|
||||
{
|
||||
"size" : "83.5x83.5",
|
||||
"filename" : "72.png",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-App-83.5x83.5@2x.png",
|
||||
"scale" : "2x"
|
||||
"scale" : "1x",
|
||||
"size" : "72x72"
|
||||
},
|
||||
{
|
||||
"size" : "1024x1024",
|
||||
"filename" : "144.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "72x72"
|
||||
},
|
||||
{
|
||||
"filename" : "76.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "76x76"
|
||||
},
|
||||
{
|
||||
"filename" : "152.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "76x76"
|
||||
},
|
||||
{
|
||||
"filename" : "167.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "83.5x83.5"
|
||||
},
|
||||
{
|
||||
"filename" : "1024.png",
|
||||
"idiom" : "ios-marketing",
|
||||
"filename" : "Icon-App-1024x1024@1x.png",
|
||||
"scale" : "1x"
|
||||
"scale" : "1x",
|
||||
"size" : "1024x1024"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 225 B |
|
Before Width: | Height: | Size: 319 B |
|
Before Width: | Height: | Size: 404 B |
|
Before Width: | Height: | Size: 295 B |
|
Before Width: | Height: | Size: 387 B |
|
Before Width: | Height: | Size: 453 B |
|
Before Width: | Height: | Size: 319 B |
|
Before Width: | Height: | Size: 446 B |
|
Before Width: | Height: | Size: 468 B |
|
Before Width: | Height: | Size: 468 B |
|
Before Width: | Height: | Size: 556 B |
|
Before Width: | Height: | Size: 459 B |
|
Before Width: | Height: | Size: 521 B |
|
Before Width: | Height: | Size: 550 B |
6
ios/Runner/Assets.xcassets/Contents.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,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>NSCameraUsageDescription</key>
|
||||
<string>Workout photos</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
|
||||
8
ios/Runner/Runner.entitlements
Normal file
@@ -0,0 +1,8 @@
|
||||
<?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>aps-environment</key>
|
||||
<string>development</string>
|
||||
</dict>
|
||||
</plist>
|
||||
5
ios/fastlane/Appfile
Normal file
@@ -0,0 +1,5 @@
|
||||
app_identifier("de.wger.flutter.community") # The bundle identifier of your app
|
||||
apple_id(ENV["APPLE_ID"]) # Your Apple Developer Portal username
|
||||
|
||||
itc_team_id(ENV["ITC_TEAM_ID"]) # App Store Connect Team ID
|
||||
team_id(ENV["TEAM_ID"]) # Developer Portal Team ID
|
||||
3
ios/fastlane/Deliverfile
Normal file
@@ -0,0 +1,3 @@
|
||||
# The Deliverfile allows you to store various App Store Connect metadata
|
||||
# For more information, check out the docs
|
||||
# https://docs.fastlane.tools/actions/deliver/
|
||||
61
ios/fastlane/Fastfile
Normal file
@@ -0,0 +1,61 @@
|
||||
default_platform(:ios)
|
||||
|
||||
platform :ios do
|
||||
|
||||
desc "Set AppStore Connect API KEY using the provided environment variables."
|
||||
lane :apikey do
|
||||
app_store_connect_api_key(
|
||||
key_id: ENV["APP_STORE_API_KEY_ID"],
|
||||
issuer_id: ENV["APP_STORE_API_ISSUER_ID"],
|
||||
key_filepath: ENV["APP_STORE_API_KEY_PATH"],
|
||||
duration: 1200, # optional (maximum 1200)
|
||||
in_house: false # optional but may be required if using match/sigh
|
||||
)
|
||||
end
|
||||
|
||||
###############################################################################
|
||||
|
||||
desc "Push a new release build to AppStore Connect for manual submission to TestFlight beta testing or App Store Release."
|
||||
lane :release do
|
||||
apikey
|
||||
build_app(workspace: "Runner.xcworkspace", scheme: "Runner")
|
||||
upload_to_app_store(
|
||||
precheck_include_in_app_purchases: false
|
||||
)
|
||||
end
|
||||
|
||||
###############################################################################
|
||||
|
||||
desc "Test if all environment variables are present and check if API key is working properly."
|
||||
lane :test_env do
|
||||
UI.message "🔍 Testing environment variables..."
|
||||
|
||||
UI.message "APP_STORE_API_KEY_ID: #{ENV['APP_STORE_API_KEY_ID']}"
|
||||
UI.message "APP_STORE_API_ISSUER_ID: #{ENV['APP_STORE_API_ISSUER_ID']}"
|
||||
UI.message "APP_STORE_API_KEY_PATH: #{ENV['APP_STORE_API_KEY_PATH']}"
|
||||
UI.message "APPLE_ID: #{ENV['APPLE_ID']}"
|
||||
UI.message "ITC_TEAM_ID: #{ENV['ITC_TEAM_ID']}"
|
||||
UI.message "TEAM_ID: #{ENV['TEAM_ID']}"
|
||||
|
||||
UI.success "✅ Environment variables loaded."
|
||||
|
||||
UI.message "🔐 Testing App Store Connect API key authentication..."
|
||||
|
||||
app_store_connect_api_key(
|
||||
key_id: ENV["APP_STORE_API_KEY_ID"],
|
||||
issuer_id: ENV["APP_STORE_API_ISSUER_ID"],
|
||||
key_filepath: ENV["APP_STORE_API_KEY_PATH"],
|
||||
duration: 1200,
|
||||
in_house: false
|
||||
)
|
||||
|
||||
# Test: Fetch list of apps to verify authentication
|
||||
apps = Spaceship::ConnectAPI::App.all
|
||||
UI.success "✅ API Key is valid! Found #{apps.count} apps in your App Store Connect account."
|
||||
|
||||
rescue => ex
|
||||
UI.error "❌ API Key authentication failed: #{ex.message}"
|
||||
UI.user_error!("Please check your API key environment variables and credentials.")
|
||||
end
|
||||
|
||||
end
|
||||
48
ios/fastlane/README.md
Normal file
@@ -0,0 +1,48 @@
|
||||
fastlane documentation
|
||||
----
|
||||
|
||||
# Installation
|
||||
|
||||
Make sure you have the latest version of the Xcode command line tools installed:
|
||||
|
||||
```sh
|
||||
xcode-select --install
|
||||
```
|
||||
|
||||
For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane)
|
||||
|
||||
# Available Actions
|
||||
|
||||
## iOS
|
||||
|
||||
### ios apikey
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane ios apikey
|
||||
```
|
||||
|
||||
Set AppStore Connect API KEY using the provided environment variables.
|
||||
|
||||
### ios release
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane ios release
|
||||
```
|
||||
|
||||
Push a new release build to AppStore Connect for manual submission to TestFlight beta testing or App Store Release.
|
||||
|
||||
### ios test_env
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane ios test_env
|
||||
```
|
||||
|
||||
Test if all environment variables are present and check if API key is working properly.
|
||||
|
||||
----
|
||||
|
||||
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).
|
||||
|
||||
The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
|
||||
1
ios/fastlane/metadata/copyright.txt
Normal file
@@ -0,0 +1 @@
|
||||
wger Project
|
||||
1
ios/fastlane/metadata/de-DE/apple_tv_privacy_policy.txt
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
39
ios/fastlane/metadata/de-DE/description.txt
Normal file
@@ -0,0 +1,39 @@
|
||||
Von Fitnessliebhabern für Fitnessliebhaber, organisiere deine Gesundheit mit wger, deinem Trainingsverwaltungsprogramm!
|
||||
|
||||
Hast du schon deine Nr. 1 Fitness-Anwendung gefunden und liebst es, deine eigene Trainingspläne zu erstellen? Egal was für ein sportliches Biest du bist sind – wir haben alle etwas gemeinsam: wir lieben es, den Überblick über unsere Gesundheitsdaten zu behalten.
|
||||
|
||||
Wir verurteilen dich also nicht dafür, dass du deine Fitness-Reise immer noch mit deinem kleinen Tagebuch verwaltest, aber willkommen im 21. Jahrhundert!
|
||||
|
||||
Wir haben eine 100 % kostenlose digitale Gesundheits- und Fitnesstracker-Anwendung für dich entwickelt, die auf die wichtigsten Funktionen reduziert ist, um dein Leben einfacher zu machen. Lege jetzt lost, trainiere weiter und feiere deine Fortschritte!
|
||||
|
||||
wger ist ein quelloffenes Projekt und dreht sich um:
|
||||
* Deinen Körper
|
||||
* Deine Workouts
|
||||
* Deine Fortschritte
|
||||
* Deine Daten
|
||||
|
||||
Dein Körper:
|
||||
Du musst nicht mehr nach den Zutaten deiner Lieblingsspeise suchen – stelle deine täglichen Mahlzeiten aus mehr als 78.000 Produkten und deren Nährwerte zusammen. Füge diese deinem Ernährungsplan hinzu und behalte den Überblick über deine Ernährung im Kalender.
|
||||
|
||||
Deine Workouts:
|
||||
Du weißt, was das Beste für deinen Körper ist. Erstelle deine eigenen Workouts aus einer wachsenden Vielfalt von 200 verschiedenen Übungen. Verwende den Gym-Modus, um dich durch das Training führen zu lassen, während du deine Gewichte und Wiederholungen mit einem Tippen protokollieren kannst.
|
||||
|
||||
Dein Fortschritt:
|
||||
Verlieren nie deine Ziele aus den Augen, tracke dein Gewicht und behalte deine Statistiken.
|
||||
|
||||
Deine Daten:
|
||||
wger ist dein persönliches Fitness-Tagebuch - aber deine Daten gehören dir. Nutze die REST-API, um darauf zuzugreifen und erstaunliche Dinge damit zu tun.
|
||||
|
||||
Bitte beachte: Diese kostenlose Anwendung basiert nicht auf zusätzlichen Finanzierungen und wir bitten dich nicht um Geldspenden. Vielmehr handelt es sich um ein Community-Projekt, das ständig wächst. Sei also jederzeit auf neue Funktionen vorbereitet!
|
||||
|
||||
Quelloffen – was bedeutet das?
|
||||
|
||||
Quelloffen bedeutet, dass der gesamte Quellcode für diese Anwendung und den damit verbundenen Server, frei und für jeden verfügbar ist:
|
||||
* Willst du wger auf deinem eigenen Server für dich oder dein lokales Fitnessstudio laufen lassen? Nur zu!
|
||||
* Vermisst du ein Feature und willst es implementieren? Fang jetzt an!
|
||||
* Willst du überprüfen, dass etwas an Dritte gesendet wird? Das kannst du!
|
||||
|
||||
Trete unserer Gemeinschaft bei und werde ein Teil von Sportbegeisterten und IT-Freaks aus aller Welt. Wir arbeiten ständig daran, die Anwendung an unsere Bedürfnisse anzupassen und zu optimieren. Wir freuen uns über deinen Input, du kannst jederzeit einsteigen und deine Wünsche und Ideen einbringen!
|
||||
|
||||
-> finde den Quellcode auf https://github.com/wger-project
|
||||
-> stelle deine Fragen oder sag einfach Hallo auf unserem Discord-Server https://discord.gg/rPWFv6W
|
||||
1
ios/fastlane/metadata/de-DE/keywords.txt
Normal file
@@ -0,0 +1 @@
|
||||
wger Workout Ernährung Fitness
|
||||
1
ios/fastlane/metadata/de-DE/marketing_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://wger.de/de/software/features
|
||||
1
ios/fastlane/metadata/de-DE/name.txt
Normal file
@@ -0,0 +1 @@
|
||||
wger Workout Manager
|
||||
1
ios/fastlane/metadata/de-DE/privacy_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://wger.de/de/software/terms-of-service
|
||||
1
ios/fastlane/metadata/de-DE/promotional_text.txt
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
ios/fastlane/metadata/de-DE/release_notes.txt
Normal file
@@ -0,0 +1 @@
|
||||
UI Verbesserungen, Übersetzungen aktualisiert, Fehlerbehebungen
|
||||
1
ios/fastlane/metadata/de-DE/subtitle.txt
Normal file
@@ -0,0 +1 @@
|
||||
OpenSource Fitness-Tracker
|
||||
1
ios/fastlane/metadata/de-DE/support_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://wger.de/en/software/about-us
|
||||
1
ios/fastlane/metadata/primary_category.txt
Normal file
@@ -0,0 +1 @@
|
||||
HEALTH_AND_FITNESS
|
||||
1
ios/fastlane/metadata/primary_first_sub_category.txt
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
ios/fastlane/metadata/primary_second_sub_category.txt
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
flutteruser
|
||||
1
ios/fastlane/metadata/review_information/demo_user.txt
Normal file
@@ -0,0 +1 @@
|
||||
user
|
||||
@@ -0,0 +1 @@
|
||||
software@thweb.net
|
||||
1
ios/fastlane/metadata/review_information/first_name.txt
Normal file
@@ -0,0 +1 @@
|
||||
Peter
|
||||
1
ios/fastlane/metadata/review_information/last_name.txt
Normal file
@@ -0,0 +1 @@
|
||||
Thaler
|
||||
5
ios/fastlane/metadata/review_information/notes.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
Testserver: https://wger-master.rge.uber.space
|
||||
|
||||
ui improvements, bugfixes
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
+436805529332
|
||||
1
ios/fastlane/metadata/secondary_category.txt
Normal file
@@ -0,0 +1 @@
|
||||
FOOD_AND_DRINK
|
||||
1
ios/fastlane/metadata/secondary_first_sub_category.txt
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
ios/fastlane/metadata/secondary_second_sub_category.txt
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
30
ios/fastlane/screenshots/README.txt
Normal file
@@ -0,0 +1,30 @@
|
||||
## Screenshots Naming Rules
|
||||
|
||||
Put all screenshots you want to use inside the folder of its language (e.g. `en-US`).
|
||||
The device type will automatically be recognized using the image resolution.
|
||||
|
||||
The screenshots can be named whatever you want, but keep in mind they are sorted
|
||||
alphabetically, in a human-friendly way. See https://github.com/fastlane/fastlane/pull/18200 for more details.
|
||||
|
||||
### Exceptions
|
||||
|
||||
#### iPad Pro (3rd Gen) 12.9"
|
||||
|
||||
Since iPad Pro (3rd Gen) 12.9" and iPad Pro (2nd Gen) 12.9" have the same image
|
||||
resolution, screenshots of the iPad Pro (3rd gen) 12.9" must contain either the
|
||||
string `iPad Pro (12.9-inch) (3rd generation)`, `IPAD_PRO_3GEN_129`, or `ipadPro129`
|
||||
(App Store Connect's internal naming of the display family for the 3rd generation iPad Pro)
|
||||
in its filename to be assigned the correct display family and to be uploaded to
|
||||
the correct screenshot slot in your app's metadata.
|
||||
|
||||
### Other Platforms
|
||||
|
||||
#### Apple TV
|
||||
|
||||
Apple TV screenshots should be stored in a subdirectory named `appleTV` with language
|
||||
folders inside of it.
|
||||
|
||||
#### iMessage
|
||||
|
||||
iMessage screenshots, like the Apple TV ones, should also be stored in a subdirectory
|
||||
named `iMessage`, with language folders inside of it.
|
||||
BIN
ios/fastlane/screenshots/de-DE/0_APP_IPHONE_55_0.png
Normal file
|
After Width: | Height: | Size: 182 KiB |
BIN
ios/fastlane/screenshots/de-DE/0_APP_IPHONE_67_0.jpg
Normal file
|
After Width: | Height: | Size: 218 KiB |
BIN
ios/fastlane/screenshots/de-DE/1_APP_IPHONE_55_1.png
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
ios/fastlane/screenshots/de-DE/1_APP_IPHONE_67_1.jpg
Normal file
|
After Width: | Height: | Size: 316 KiB |
BIN
ios/fastlane/screenshots/de-DE/2_APP_IPHONE_55_2.png
Normal file
|
After Width: | Height: | Size: 1.7 MiB |
BIN
ios/fastlane/screenshots/de-DE/2_APP_IPHONE_67_2.jpg
Normal file
|
After Width: | Height: | Size: 380 KiB |
BIN
ios/fastlane/screenshots/de-DE/3_APP_IPHONE_55_3.png
Normal file
|
After Width: | Height: | Size: 203 KiB |
BIN
ios/fastlane/screenshots/de-DE/3_APP_IPHONE_67_3.jpg
Normal file
|
After Width: | Height: | Size: 254 KiB |
BIN
ios/fastlane/screenshots/de-DE/4_APP_IPHONE_55_4.png
Normal file
|
After Width: | Height: | Size: 197 KiB |
BIN
ios/fastlane/screenshots/de-DE/4_APP_IPHONE_67_4.jpg
Normal file
|
After Width: | Height: | Size: 178 KiB |
@@ -21,7 +21,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev
|
||||
# - the version number is taken from the git tag vX.Y.Z
|
||||
# - the build number is computed by reading the last one from the play store
|
||||
# and increasing by one
|
||||
version: 1.8.0+51
|
||||
version: 1.8.0+53
|
||||
|
||||
environment:
|
||||
sdk: '>=3.0.0 <4.0.0'
|
||||
|
||||