add fastlane build config, update ios project settings with required entitlements and dev team id, add an app icon that is accepted by apple

This commit is contained in:
Peter Thaler
2025-03-22 14:05:24 +01:00
parent e90f2a7ba1
commit 6142cf8902
85 changed files with 587 additions and 83 deletions

11
.gitignore vendored
View File

@@ -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

View File

@@ -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
View File

@@ -0,0 +1,3 @@
source "https://rubygems.org"
gem "fastlane"

222
ios/Gemfile.lock Normal file
View 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

View File

@@ -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

View File

@@ -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;

View File

@@ -50,6 +50,7 @@
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
enableGPUValidationMode = "1"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 765 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -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
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 319 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 387 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 453 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 319 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 446 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 468 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 468 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 556 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 459 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 521 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 550 B

View File

@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -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>

View 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
View 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
View 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
View 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
View 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).

View File

@@ -0,0 +1 @@
wger Project

View File

@@ -0,0 +1 @@

View 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

View File

@@ -0,0 +1 @@
wger Workout Ernährung Fitness

View File

@@ -0,0 +1 @@
https://wger.de/de/software/features

View File

@@ -0,0 +1 @@
wger Workout Manager

View File

@@ -0,0 +1 @@
https://wger.de/de/software/terms-of-service

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
UI Verbesserungen, Übersetzungen aktualisiert, Fehlerbehebungen

View File

@@ -0,0 +1 @@
OpenSource Fitness-Tracker

View File

@@ -0,0 +1 @@
https://wger.de/en/software/about-us

View File

@@ -0,0 +1 @@
HEALTH_AND_FITNESS

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
flutteruser

View File

@@ -0,0 +1 @@
user

View File

@@ -0,0 +1 @@
software@thweb.net

View File

@@ -0,0 +1 @@
Peter

View File

@@ -0,0 +1 @@
Thaler

View File

@@ -0,0 +1,5 @@
Testserver: https://wger-master.rge.uber.space
ui improvements, bugfixes

View File

@@ -0,0 +1 @@
+436805529332

View File

@@ -0,0 +1 @@
FOOD_AND_DRINK

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@

View 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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

View File

@@ -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'