~repos /only-bible-app

#kotlin#android#ios

git clone https://pyrossh.dev/repos/only-bible-app.git

The only bible app you will ever need. No ads. No in-app purchases. No distractions.


e49dba65 pyrossh

2 years ago
add selection and swipe
Files changed (50) hide show
  1. ios/.gitignore +34 -0
  2. ios/Flutter/AppFrameworkInfo.plist +26 -0
  3. ios/Flutter/Debug.xcconfig +2 -0
  4. ios/Flutter/Release.xcconfig +2 -0
  5. ios/Podfile +44 -0
  6. ios/Podfile.lock +67 -0
  7. ios/Runner.xcodeproj/project.pbxproj +721 -0
  8. ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  9. ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  10. ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
  11. ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +98 -0
  12. ios/Runner.xcworkspace/contents.xcworkspacedata +10 -0
  13. ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  14. ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
  15. ios/Runner/AppDelegate.swift +13 -0
  16. ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +122 -0
  17. ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png +0 -0
  18. ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png +0 -0
  19. ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png +0 -0
  20. ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png +0 -0
  21. ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png +0 -0
  22. ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png +0 -0
  23. ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png +0 -0
  24. ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png +0 -0
  25. ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png +0 -0
  26. ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png +0 -0
  27. ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png +0 -0
  28. ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png +0 -0
  29. ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png +0 -0
  30. ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png +0 -0
  31. ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png +0 -0
  32. ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +23 -0
  33. ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png +0 -0
  34. ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png +0 -0
  35. ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png +0 -0
  36. ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +5 -0
  37. ios/Runner/Base.lproj/LaunchScreen.storyboard +37 -0
  38. ios/Runner/Base.lproj/Main.storyboard +26 -0
  39. ios/Runner/Info.plist +51 -0
  40. ios/Runner/Runner-Bridging-Header.h +1 -0
  41. ios/RunnerTests/RunnerTests.swift +12 -0
  42. lib/app.dart +1 -1
  43. lib/components/book_selector.dart +3 -6
  44. lib/components/menu.dart +33 -32
  45. lib/components/sidebar.dart +0 -2
  46. lib/components/verse_view.dart +23 -25
  47. lib/routes/home_screen.dart +45 -20
  48. lib/state.dart +3 -1
  49. pubspec.lock +8 -0
  50. pubspec.yaml +1 -0
ios/.gitignore ADDED
@@ -0,0 +1,34 @@
1
+ **/dgph
2
+ *.mode1v3
3
+ *.mode2v3
4
+ *.moved-aside
5
+ *.pbxuser
6
+ *.perspectivev3
7
+ **/*sync/
8
+ .sconsign.dblite
9
+ .tags*
10
+ **/.vagrant/
11
+ **/DerivedData/
12
+ Icon?
13
+ **/Pods/
14
+ **/.symlinks/
15
+ profile
16
+ xcuserdata
17
+ **/.generated/
18
+ Flutter/App.framework
19
+ Flutter/Flutter.framework
20
+ Flutter/Flutter.podspec
21
+ Flutter/Generated.xcconfig
22
+ Flutter/ephemeral/
23
+ Flutter/app.flx
24
+ Flutter/app.zip
25
+ Flutter/flutter_assets/
26
+ Flutter/flutter_export_environment.sh
27
+ ServiceDefinitions.json
28
+ Runner/GeneratedPluginRegistrant.*
29
+
30
+ # Exceptions to above rules.
31
+ !default.mode1v3
32
+ !default.mode2v3
33
+ !default.pbxuser
34
+ !default.perspectivev3
ios/Flutter/AppFrameworkInfo.plist ADDED
@@ -0,0 +1,26 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>CFBundleDevelopmentRegion</key>
6
+ <string>en</string>
7
+ <key>CFBundleExecutable</key>
8
+ <string>App</string>
9
+ <key>CFBundleIdentifier</key>
10
+ <string>io.flutter.flutter.app</string>
11
+ <key>CFBundleInfoDictionaryVersion</key>
12
+ <string>6.0</string>
13
+ <key>CFBundleName</key>
14
+ <string>App</string>
15
+ <key>CFBundlePackageType</key>
16
+ <string>FMWK</string>
17
+ <key>CFBundleShortVersionString</key>
18
+ <string>1.0</string>
19
+ <key>CFBundleSignature</key>
20
+ <string>????</string>
21
+ <key>CFBundleVersion</key>
22
+ <string>1.0</string>
23
+ <key>MinimumOSVersion</key>
24
+ <string>11.0</string>
25
+ </dict>
26
+ </plist>
ios/Flutter/Debug.xcconfig ADDED
@@ -0,0 +1,2 @@
1
+ #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2
+ #include "Generated.xcconfig"
ios/Flutter/Release.xcconfig ADDED
@@ -0,0 +1,2 @@
1
+ #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2
+ #include "Generated.xcconfig"
ios/Podfile ADDED
@@ -0,0 +1,44 @@
1
+ # Uncomment this line to define a global platform for your project
2
+ # platform :ios, '11.0'
3
+
4
+ # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
5
+ ENV['COCOAPODS_DISABLE_STATS'] = 'true'
6
+
7
+ project 'Runner', {
8
+ 'Debug' => :debug,
9
+ 'Profile' => :release,
10
+ 'Release' => :release,
11
+ }
12
+
13
+ def flutter_root
14
+ generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
15
+ unless File.exist?(generated_xcode_build_settings_path)
16
+ raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
17
+ end
18
+
19
+ File.foreach(generated_xcode_build_settings_path) do |line|
20
+ matches = line.match(/FLUTTER_ROOT\=(.*)/)
21
+ return matches[1].strip if matches
22
+ end
23
+ raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
24
+ end
25
+
26
+ require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
27
+
28
+ flutter_ios_podfile_setup
29
+
30
+ target 'Runner' do
31
+ use_frameworks!
32
+ use_modular_headers!
33
+
34
+ flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
35
+ target 'RunnerTests' do
36
+ inherit! :search_paths
37
+ end
38
+ end
39
+
40
+ post_install do |installer|
41
+ installer.pods_project.targets.each do |target|
42
+ flutter_additional_ios_build_settings(target)
43
+ end
44
+ end
ios/Podfile.lock ADDED
@@ -0,0 +1,67 @@
1
+ PODS:
2
+ - audio_session (0.0.1):
3
+ - Flutter
4
+ - Flutter (1.0.0)
5
+ - flutter_charset_detector_ios (0.0.1):
6
+ - Flutter
7
+ - UniversalDetector2 (= 2.0.1)
8
+ - flutter_native_splash (0.0.1):
9
+ - Flutter
10
+ - integration_test (0.0.1):
11
+ - Flutter
12
+ - just_audio (0.0.1):
13
+ - Flutter
14
+ - path_provider_foundation (0.0.1):
15
+ - Flutter
16
+ - FlutterMacOS
17
+ - shared_preferences_foundation (0.0.1):
18
+ - Flutter
19
+ - FlutterMacOS
20
+ - UniversalDetector2 (2.0.1)
21
+
22
+ DEPENDENCIES:
23
+ - audio_session (from `.symlinks/plugins/audio_session/ios`)
24
+ - Flutter (from `Flutter`)
25
+ - flutter_charset_detector_ios (from `.symlinks/plugins/flutter_charset_detector_ios/ios`)
26
+ - flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`)
27
+ - integration_test (from `.symlinks/plugins/integration_test/ios`)
28
+ - just_audio (from `.symlinks/plugins/just_audio/ios`)
29
+ - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
30
+ - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
31
+
32
+ SPEC REPOS:
33
+ trunk:
34
+ - UniversalDetector2
35
+
36
+ EXTERNAL SOURCES:
37
+ audio_session:
38
+ :path: ".symlinks/plugins/audio_session/ios"
39
+ Flutter:
40
+ :path: Flutter
41
+ flutter_charset_detector_ios:
42
+ :path: ".symlinks/plugins/flutter_charset_detector_ios/ios"
43
+ flutter_native_splash:
44
+ :path: ".symlinks/plugins/flutter_native_splash/ios"
45
+ integration_test:
46
+ :path: ".symlinks/plugins/integration_test/ios"
47
+ just_audio:
48
+ :path: ".symlinks/plugins/just_audio/ios"
49
+ path_provider_foundation:
50
+ :path: ".symlinks/plugins/path_provider_foundation/darwin"
51
+ shared_preferences_foundation:
52
+ :path: ".symlinks/plugins/shared_preferences_foundation/darwin"
53
+
54
+ SPEC CHECKSUMS:
55
+ audio_session: 4f3e461722055d21515cf3261b64c973c062f345
56
+ Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
57
+ flutter_charset_detector_ios: 5157d0104855b9deb78e1395515a287197bc2d55
58
+ flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef
59
+ integration_test: 13825b8a9334a850581300559b8839134b124670
60
+ just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa
61
+ path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
62
+ shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126
63
+ UniversalDetector2: 7c9ffd935cf050eeb19edf7e90f6febe3743a1af
64
+
65
+ PODFILE CHECKSUM: 70d9d25280d0dd177a5f637cdb0f0b0b12c6a189
66
+
67
+ COCOAPODS: 1.12.1
ios/Runner.xcodeproj/project.pbxproj ADDED
@@ -0,0 +1,721 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 54;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
11
+ 2E5CB950CFC1F3DFBB71E42F /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F3F46BA4A6702F65E0B4B6AA /* Pods_Runner.framework */; };
12
+ 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; };
13
+ 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
14
+ 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
15
+ 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
16
+ 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
17
+ 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
18
+ DA1A67AA24DEAECECC45A3C0 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1BCE551F99E8608D6CCC5E66 /* Pods_RunnerTests.framework */; };
19
+ /* End PBXBuildFile section */
20
+
21
+ /* Begin PBXContainerItemProxy section */
22
+ 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = {
23
+ isa = PBXContainerItemProxy;
24
+ containerPortal = 97C146E61CF9000F007C117D /* Project object */;
25
+ proxyType = 1;
26
+ remoteGlobalIDString = 97C146ED1CF9000F007C117D;
27
+ remoteInfo = Runner;
28
+ };
29
+ /* End PBXContainerItemProxy section */
30
+
31
+ /* Begin PBXCopyFilesBuildPhase section */
32
+ 9705A1C41CF9048500538489 /* Embed Frameworks */ = {
33
+ isa = PBXCopyFilesBuildPhase;
34
+ buildActionMask = 2147483647;
35
+ dstPath = "";
36
+ dstSubfolderSpec = 10;
37
+ files = (
38
+ );
39
+ name = "Embed Frameworks";
40
+ runOnlyForDeploymentPostprocessing = 0;
41
+ };
42
+ /* End PBXCopyFilesBuildPhase section */
43
+
44
+ /* Begin PBXFileReference section */
45
+ 06CE318156188ABDABCA944B /* 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>"; };
46
+ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
47
+ 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
48
+ 1BCE551F99E8608D6CCC5E66 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
49
+ 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; };
50
+ 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
51
+ 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
52
+ 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
53
+ 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
54
+ 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
55
+ 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
56
+ 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
57
+ 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
58
+ 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
59
+ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
60
+ 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
61
+ 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
62
+ 984E6F4D48988BFD5DC71C87 /* 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>"; };
63
+ AAE8F66DEE2C36C08D4D4CF7 /* 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>"; };
64
+ D54F9986AB93CF53B46C897B /* 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>"; };
65
+ E2D630982CED2AD95C318CB7 /* 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>"; };
66
+ F3F46BA4A6702F65E0B4B6AA /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
67
+ F5963E8720B2809BA7276E62 /* 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>"; };
68
+ /* End PBXFileReference section */
69
+
70
+ /* Begin PBXFrameworksBuildPhase section */
71
+ 031DA3586C7FA2644EEA7608 /* Frameworks */ = {
72
+ isa = PBXFrameworksBuildPhase;
73
+ buildActionMask = 2147483647;
74
+ files = (
75
+ DA1A67AA24DEAECECC45A3C0 /* Pods_RunnerTests.framework in Frameworks */,
76
+ );
77
+ runOnlyForDeploymentPostprocessing = 0;
78
+ };
79
+ 97C146EB1CF9000F007C117D /* Frameworks */ = {
80
+ isa = PBXFrameworksBuildPhase;
81
+ buildActionMask = 2147483647;
82
+ files = (
83
+ 2E5CB950CFC1F3DFBB71E42F /* Pods_Runner.framework in Frameworks */,
84
+ );
85
+ runOnlyForDeploymentPostprocessing = 0;
86
+ };
87
+ /* End PBXFrameworksBuildPhase section */
88
+
89
+ /* Begin PBXGroup section */
90
+ 331C8082294A63A400263BE5 /* RunnerTests */ = {
91
+ isa = PBXGroup;
92
+ children = (
93
+ 331C807B294A618700263BE5 /* RunnerTests.swift */,
94
+ );
95
+ path = RunnerTests;
96
+ sourceTree = "<group>";
97
+ };
98
+ 6DF4F3979E976B9AFC6F24F3 /* Frameworks */ = {
99
+ isa = PBXGroup;
100
+ children = (
101
+ F3F46BA4A6702F65E0B4B6AA /* Pods_Runner.framework */,
102
+ 1BCE551F99E8608D6CCC5E66 /* Pods_RunnerTests.framework */,
103
+ );
104
+ name = Frameworks;
105
+ sourceTree = "<group>";
106
+ };
107
+ 9740EEB11CF90186004384FC /* Flutter */ = {
108
+ isa = PBXGroup;
109
+ children = (
110
+ 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
111
+ 9740EEB21CF90195004384FC /* Debug.xcconfig */,
112
+ 7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
113
+ 9740EEB31CF90195004384FC /* Generated.xcconfig */,
114
+ );
115
+ name = Flutter;
116
+ sourceTree = "<group>";
117
+ };
118
+ 97C146E51CF9000F007C117D = {
119
+ isa = PBXGroup;
120
+ children = (
121
+ 9740EEB11CF90186004384FC /* Flutter */,
122
+ 97C146F01CF9000F007C117D /* Runner */,
123
+ 97C146EF1CF9000F007C117D /* Products */,
124
+ 331C8082294A63A400263BE5 /* RunnerTests */,
125
+ CBB88F932ABD9BDFE5CC4AAB /* Pods */,
126
+ 6DF4F3979E976B9AFC6F24F3 /* Frameworks */,
127
+ );
128
+ sourceTree = "<group>";
129
+ };
130
+ 97C146EF1CF9000F007C117D /* Products */ = {
131
+ isa = PBXGroup;
132
+ children = (
133
+ 97C146EE1CF9000F007C117D /* Runner.app */,
134
+ 331C8081294A63A400263BE5 /* RunnerTests.xctest */,
135
+ );
136
+ name = Products;
137
+ sourceTree = "<group>";
138
+ };
139
+ 97C146F01CF9000F007C117D /* Runner */ = {
140
+ isa = PBXGroup;
141
+ children = (
142
+ 97C146FA1CF9000F007C117D /* Main.storyboard */,
143
+ 97C146FD1CF9000F007C117D /* Assets.xcassets */,
144
+ 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
145
+ 97C147021CF9000F007C117D /* Info.plist */,
146
+ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
147
+ 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
148
+ 74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
149
+ 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
150
+ );
151
+ path = Runner;
152
+ sourceTree = "<group>";
153
+ };
154
+ CBB88F932ABD9BDFE5CC4AAB /* Pods */ = {
155
+ isa = PBXGroup;
156
+ children = (
157
+ 06CE318156188ABDABCA944B /* Pods-Runner.debug.xcconfig */,
158
+ D54F9986AB93CF53B46C897B /* Pods-Runner.release.xcconfig */,
159
+ 984E6F4D48988BFD5DC71C87 /* Pods-Runner.profile.xcconfig */,
160
+ E2D630982CED2AD95C318CB7 /* Pods-RunnerTests.debug.xcconfig */,
161
+ AAE8F66DEE2C36C08D4D4CF7 /* Pods-RunnerTests.release.xcconfig */,
162
+ F5963E8720B2809BA7276E62 /* Pods-RunnerTests.profile.xcconfig */,
163
+ );
164
+ name = Pods;
165
+ path = Pods;
166
+ sourceTree = "<group>";
167
+ };
168
+ /* End PBXGroup section */
169
+
170
+ /* Begin PBXNativeTarget section */
171
+ 331C8080294A63A400263BE5 /* RunnerTests */ = {
172
+ isa = PBXNativeTarget;
173
+ buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
174
+ buildPhases = (
175
+ 215BBF33525D021F624C2FBA /* [CP] Check Pods Manifest.lock */,
176
+ 331C807D294A63A400263BE5 /* Sources */,
177
+ 331C807F294A63A400263BE5 /* Resources */,
178
+ 031DA3586C7FA2644EEA7608 /* Frameworks */,
179
+ );
180
+ buildRules = (
181
+ );
182
+ dependencies = (
183
+ 331C8086294A63A400263BE5 /* PBXTargetDependency */,
184
+ );
185
+ name = RunnerTests;
186
+ productName = RunnerTests;
187
+ productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */;
188
+ productType = "com.apple.product-type.bundle.unit-test";
189
+ };
190
+ 97C146ED1CF9000F007C117D /* Runner */ = {
191
+ isa = PBXNativeTarget;
192
+ buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
193
+ buildPhases = (
194
+ 3E36C0C14CB57C5E34F6E815 /* [CP] Check Pods Manifest.lock */,
195
+ 9740EEB61CF901F6004384FC /* Run Script */,
196
+ 97C146EA1CF9000F007C117D /* Sources */,
197
+ 97C146EB1CF9000F007C117D /* Frameworks */,
198
+ 97C146EC1CF9000F007C117D /* Resources */,
199
+ 9705A1C41CF9048500538489 /* Embed Frameworks */,
200
+ 3B06AD1E1E4923F5004D2608 /* Thin Binary */,
201
+ 7A3B43FF1BFC23C9728F65C8 /* [CP] Embed Pods Frameworks */,
202
+ );
203
+ buildRules = (
204
+ );
205
+ dependencies = (
206
+ );
207
+ name = Runner;
208
+ productName = Runner;
209
+ productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
210
+ productType = "com.apple.product-type.application";
211
+ };
212
+ /* End PBXNativeTarget section */
213
+
214
+ /* Begin PBXProject section */
215
+ 97C146E61CF9000F007C117D /* Project object */ = {
216
+ isa = PBXProject;
217
+ attributes = {
218
+ LastUpgradeCheck = 1300;
219
+ ORGANIZATIONNAME = "";
220
+ TargetAttributes = {
221
+ 331C8080294A63A400263BE5 = {
222
+ CreatedOnToolsVersion = 14.0;
223
+ TestTargetID = 97C146ED1CF9000F007C117D;
224
+ };
225
+ 97C146ED1CF9000F007C117D = {
226
+ CreatedOnToolsVersion = 7.3.1;
227
+ LastSwiftMigration = 1100;
228
+ };
229
+ };
230
+ };
231
+ buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
232
+ compatibilityVersion = "Xcode 9.3";
233
+ developmentRegion = en;
234
+ hasScannedForEncodings = 0;
235
+ knownRegions = (
236
+ en,
237
+ Base,
238
+ );
239
+ mainGroup = 97C146E51CF9000F007C117D;
240
+ productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
241
+ projectDirPath = "";
242
+ projectRoot = "";
243
+ targets = (
244
+ 97C146ED1CF9000F007C117D /* Runner */,
245
+ 331C8080294A63A400263BE5 /* RunnerTests */,
246
+ );
247
+ };
248
+ /* End PBXProject section */
249
+
250
+ /* Begin PBXResourcesBuildPhase section */
251
+ 331C807F294A63A400263BE5 /* Resources */ = {
252
+ isa = PBXResourcesBuildPhase;
253
+ buildActionMask = 2147483647;
254
+ files = (
255
+ );
256
+ runOnlyForDeploymentPostprocessing = 0;
257
+ };
258
+ 97C146EC1CF9000F007C117D /* Resources */ = {
259
+ isa = PBXResourcesBuildPhase;
260
+ buildActionMask = 2147483647;
261
+ files = (
262
+ 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
263
+ 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
264
+ 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
265
+ 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
266
+ );
267
+ runOnlyForDeploymentPostprocessing = 0;
268
+ };
269
+ /* End PBXResourcesBuildPhase section */
270
+
271
+ /* Begin PBXShellScriptBuildPhase section */
272
+ 215BBF33525D021F624C2FBA /* [CP] Check Pods Manifest.lock */ = {
273
+ isa = PBXShellScriptBuildPhase;
274
+ buildActionMask = 2147483647;
275
+ files = (
276
+ );
277
+ inputFileListPaths = (
278
+ );
279
+ inputPaths = (
280
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
281
+ "${PODS_ROOT}/Manifest.lock",
282
+ );
283
+ name = "[CP] Check Pods Manifest.lock";
284
+ outputFileListPaths = (
285
+ );
286
+ outputPaths = (
287
+ "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt",
288
+ );
289
+ runOnlyForDeploymentPostprocessing = 0;
290
+ shellPath = /bin/sh;
291
+ 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";
292
+ showEnvVarsInLog = 0;
293
+ };
294
+ 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
295
+ isa = PBXShellScriptBuildPhase;
296
+ alwaysOutOfDate = 1;
297
+ buildActionMask = 2147483647;
298
+ files = (
299
+ );
300
+ inputPaths = (
301
+ "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
302
+ );
303
+ name = "Thin Binary";
304
+ outputPaths = (
305
+ );
306
+ runOnlyForDeploymentPostprocessing = 0;
307
+ shellPath = /bin/sh;
308
+ shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
309
+ };
310
+ 3E36C0C14CB57C5E34F6E815 /* [CP] Check Pods Manifest.lock */ = {
311
+ isa = PBXShellScriptBuildPhase;
312
+ buildActionMask = 2147483647;
313
+ files = (
314
+ );
315
+ inputFileListPaths = (
316
+ );
317
+ inputPaths = (
318
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
319
+ "${PODS_ROOT}/Manifest.lock",
320
+ );
321
+ name = "[CP] Check Pods Manifest.lock";
322
+ outputFileListPaths = (
323
+ );
324
+ outputPaths = (
325
+ "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
326
+ );
327
+ runOnlyForDeploymentPostprocessing = 0;
328
+ shellPath = /bin/sh;
329
+ 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";
330
+ showEnvVarsInLog = 0;
331
+ };
332
+ 7A3B43FF1BFC23C9728F65C8 /* [CP] Embed Pods Frameworks */ = {
333
+ isa = PBXShellScriptBuildPhase;
334
+ buildActionMask = 2147483647;
335
+ files = (
336
+ );
337
+ inputFileListPaths = (
338
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
339
+ );
340
+ name = "[CP] Embed Pods Frameworks";
341
+ outputFileListPaths = (
342
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
343
+ );
344
+ runOnlyForDeploymentPostprocessing = 0;
345
+ shellPath = /bin/sh;
346
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
347
+ showEnvVarsInLog = 0;
348
+ };
349
+ 9740EEB61CF901F6004384FC /* Run Script */ = {
350
+ isa = PBXShellScriptBuildPhase;
351
+ alwaysOutOfDate = 1;
352
+ buildActionMask = 2147483647;
353
+ files = (
354
+ );
355
+ inputPaths = (
356
+ );
357
+ name = "Run Script";
358
+ outputPaths = (
359
+ );
360
+ runOnlyForDeploymentPostprocessing = 0;
361
+ shellPath = /bin/sh;
362
+ shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
363
+ };
364
+ /* End PBXShellScriptBuildPhase section */
365
+
366
+ /* Begin PBXSourcesBuildPhase section */
367
+ 331C807D294A63A400263BE5 /* Sources */ = {
368
+ isa = PBXSourcesBuildPhase;
369
+ buildActionMask = 2147483647;
370
+ files = (
371
+ 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */,
372
+ );
373
+ runOnlyForDeploymentPostprocessing = 0;
374
+ };
375
+ 97C146EA1CF9000F007C117D /* Sources */ = {
376
+ isa = PBXSourcesBuildPhase;
377
+ buildActionMask = 2147483647;
378
+ files = (
379
+ 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
380
+ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
381
+ );
382
+ runOnlyForDeploymentPostprocessing = 0;
383
+ };
384
+ /* End PBXSourcesBuildPhase section */
385
+
386
+ /* Begin PBXTargetDependency section */
387
+ 331C8086294A63A400263BE5 /* PBXTargetDependency */ = {
388
+ isa = PBXTargetDependency;
389
+ target = 97C146ED1CF9000F007C117D /* Runner */;
390
+ targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */;
391
+ };
392
+ /* End PBXTargetDependency section */
393
+
394
+ /* Begin PBXVariantGroup section */
395
+ 97C146FA1CF9000F007C117D /* Main.storyboard */ = {
396
+ isa = PBXVariantGroup;
397
+ children = (
398
+ 97C146FB1CF9000F007C117D /* Base */,
399
+ );
400
+ name = Main.storyboard;
401
+ sourceTree = "<group>";
402
+ };
403
+ 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
404
+ isa = PBXVariantGroup;
405
+ children = (
406
+ 97C147001CF9000F007C117D /* Base */,
407
+ );
408
+ name = LaunchScreen.storyboard;
409
+ sourceTree = "<group>";
410
+ };
411
+ /* End PBXVariantGroup section */
412
+
413
+ /* Begin XCBuildConfiguration section */
414
+ 249021D3217E4FDB00AE95B9 /* Profile */ = {
415
+ isa = XCBuildConfiguration;
416
+ buildSettings = {
417
+ ALWAYS_SEARCH_USER_PATHS = NO;
418
+ CLANG_ANALYZER_NONNULL = YES;
419
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
420
+ CLANG_CXX_LIBRARY = "libc++";
421
+ CLANG_ENABLE_MODULES = YES;
422
+ CLANG_ENABLE_OBJC_ARC = YES;
423
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
424
+ CLANG_WARN_BOOL_CONVERSION = YES;
425
+ CLANG_WARN_COMMA = YES;
426
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
427
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
428
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
429
+ CLANG_WARN_EMPTY_BODY = YES;
430
+ CLANG_WARN_ENUM_CONVERSION = YES;
431
+ CLANG_WARN_INFINITE_RECURSION = YES;
432
+ CLANG_WARN_INT_CONVERSION = YES;
433
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
434
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
435
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
436
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
437
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
438
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
439
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
440
+ CLANG_WARN_UNREACHABLE_CODE = YES;
441
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
442
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
443
+ COPY_PHASE_STRIP = NO;
444
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
445
+ ENABLE_NS_ASSERTIONS = NO;
446
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
447
+ GCC_C_LANGUAGE_STANDARD = gnu99;
448
+ GCC_NO_COMMON_BLOCKS = YES;
449
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
450
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
451
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
452
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
453
+ GCC_WARN_UNUSED_FUNCTION = YES;
454
+ GCC_WARN_UNUSED_VARIABLE = YES;
455
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
456
+ MTL_ENABLE_DEBUG_INFO = NO;
457
+ SDKROOT = iphoneos;
458
+ SUPPORTED_PLATFORMS = iphoneos;
459
+ TARGETED_DEVICE_FAMILY = "1,2";
460
+ VALIDATE_PRODUCT = YES;
461
+ };
462
+ name = Profile;
463
+ };
464
+ 249021D4217E4FDB00AE95B9 /* Profile */ = {
465
+ isa = XCBuildConfiguration;
466
+ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
467
+ buildSettings = {
468
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
469
+ CLANG_ENABLE_MODULES = YES;
470
+ CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
471
+ ENABLE_BITCODE = NO;
472
+ INFOPLIST_FILE = Runner/Info.plist;
473
+ LD_RUNPATH_SEARCH_PATHS = (
474
+ "$(inherited)",
475
+ "@executable_path/Frameworks",
476
+ );
477
+ PRODUCT_BUNDLE_IDENTIFIER = sh.pyros.bibleApp;
478
+ PRODUCT_NAME = "$(TARGET_NAME)";
479
+ SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
480
+ SWIFT_VERSION = 5.0;
481
+ VERSIONING_SYSTEM = "apple-generic";
482
+ };
483
+ name = Profile;
484
+ };
485
+ 331C8088294A63A400263BE5 /* Debug */ = {
486
+ isa = XCBuildConfiguration;
487
+ baseConfigurationReference = E2D630982CED2AD95C318CB7 /* Pods-RunnerTests.debug.xcconfig */;
488
+ buildSettings = {
489
+ BUNDLE_LOADER = "$(TEST_HOST)";
490
+ CODE_SIGN_STYLE = Automatic;
491
+ CURRENT_PROJECT_VERSION = 1;
492
+ GENERATE_INFOPLIST_FILE = YES;
493
+ MARKETING_VERSION = 1.0;
494
+ PRODUCT_BUNDLE_IDENTIFIER = sh.pyros.bibleApp.RunnerTests;
495
+ PRODUCT_NAME = "$(TARGET_NAME)";
496
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
497
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
498
+ SWIFT_VERSION = 5.0;
499
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
500
+ };
501
+ name = Debug;
502
+ };
503
+ 331C8089294A63A400263BE5 /* Release */ = {
504
+ isa = XCBuildConfiguration;
505
+ baseConfigurationReference = AAE8F66DEE2C36C08D4D4CF7 /* Pods-RunnerTests.release.xcconfig */;
506
+ buildSettings = {
507
+ BUNDLE_LOADER = "$(TEST_HOST)";
508
+ CODE_SIGN_STYLE = Automatic;
509
+ CURRENT_PROJECT_VERSION = 1;
510
+ GENERATE_INFOPLIST_FILE = YES;
511
+ MARKETING_VERSION = 1.0;
512
+ PRODUCT_BUNDLE_IDENTIFIER = sh.pyros.bibleApp.RunnerTests;
513
+ PRODUCT_NAME = "$(TARGET_NAME)";
514
+ SWIFT_VERSION = 5.0;
515
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
516
+ };
517
+ name = Release;
518
+ };
519
+ 331C808A294A63A400263BE5 /* Profile */ = {
520
+ isa = XCBuildConfiguration;
521
+ baseConfigurationReference = F5963E8720B2809BA7276E62 /* Pods-RunnerTests.profile.xcconfig */;
522
+ buildSettings = {
523
+ BUNDLE_LOADER = "$(TEST_HOST)";
524
+ CODE_SIGN_STYLE = Automatic;
525
+ CURRENT_PROJECT_VERSION = 1;
526
+ GENERATE_INFOPLIST_FILE = YES;
527
+ MARKETING_VERSION = 1.0;
528
+ PRODUCT_BUNDLE_IDENTIFIER = sh.pyros.bibleApp.RunnerTests;
529
+ PRODUCT_NAME = "$(TARGET_NAME)";
530
+ SWIFT_VERSION = 5.0;
531
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
532
+ };
533
+ name = Profile;
534
+ };
535
+ 97C147031CF9000F007C117D /* Debug */ = {
536
+ isa = XCBuildConfiguration;
537
+ buildSettings = {
538
+ ALWAYS_SEARCH_USER_PATHS = NO;
539
+ CLANG_ANALYZER_NONNULL = YES;
540
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
541
+ CLANG_CXX_LIBRARY = "libc++";
542
+ CLANG_ENABLE_MODULES = YES;
543
+ CLANG_ENABLE_OBJC_ARC = YES;
544
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
545
+ CLANG_WARN_BOOL_CONVERSION = YES;
546
+ CLANG_WARN_COMMA = YES;
547
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
548
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
549
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
550
+ CLANG_WARN_EMPTY_BODY = YES;
551
+ CLANG_WARN_ENUM_CONVERSION = YES;
552
+ CLANG_WARN_INFINITE_RECURSION = YES;
553
+ CLANG_WARN_INT_CONVERSION = YES;
554
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
555
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
556
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
557
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
558
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
559
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
560
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
561
+ CLANG_WARN_UNREACHABLE_CODE = YES;
562
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
563
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
564
+ COPY_PHASE_STRIP = NO;
565
+ DEBUG_INFORMATION_FORMAT = dwarf;
566
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
567
+ ENABLE_TESTABILITY = YES;
568
+ GCC_C_LANGUAGE_STANDARD = gnu99;
569
+ GCC_DYNAMIC_NO_PIC = NO;
570
+ GCC_NO_COMMON_BLOCKS = YES;
571
+ GCC_OPTIMIZATION_LEVEL = 0;
572
+ GCC_PREPROCESSOR_DEFINITIONS = (
573
+ "DEBUG=1",
574
+ "$(inherited)",
575
+ );
576
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
577
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
578
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
579
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
580
+ GCC_WARN_UNUSED_FUNCTION = YES;
581
+ GCC_WARN_UNUSED_VARIABLE = YES;
582
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
583
+ MTL_ENABLE_DEBUG_INFO = YES;
584
+ ONLY_ACTIVE_ARCH = YES;
585
+ SDKROOT = iphoneos;
586
+ TARGETED_DEVICE_FAMILY = "1,2";
587
+ };
588
+ name = Debug;
589
+ };
590
+ 97C147041CF9000F007C117D /* Release */ = {
591
+ isa = XCBuildConfiguration;
592
+ buildSettings = {
593
+ ALWAYS_SEARCH_USER_PATHS = NO;
594
+ CLANG_ANALYZER_NONNULL = YES;
595
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
596
+ CLANG_CXX_LIBRARY = "libc++";
597
+ CLANG_ENABLE_MODULES = YES;
598
+ CLANG_ENABLE_OBJC_ARC = YES;
599
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
600
+ CLANG_WARN_BOOL_CONVERSION = YES;
601
+ CLANG_WARN_COMMA = YES;
602
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
603
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
604
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
605
+ CLANG_WARN_EMPTY_BODY = YES;
606
+ CLANG_WARN_ENUM_CONVERSION = YES;
607
+ CLANG_WARN_INFINITE_RECURSION = YES;
608
+ CLANG_WARN_INT_CONVERSION = YES;
609
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
610
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
611
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
612
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
613
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
614
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
615
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
616
+ CLANG_WARN_UNREACHABLE_CODE = YES;
617
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
618
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
619
+ COPY_PHASE_STRIP = NO;
620
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
621
+ ENABLE_NS_ASSERTIONS = NO;
622
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
623
+ GCC_C_LANGUAGE_STANDARD = gnu99;
624
+ GCC_NO_COMMON_BLOCKS = YES;
625
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
626
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
627
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
628
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
629
+ GCC_WARN_UNUSED_FUNCTION = YES;
630
+ GCC_WARN_UNUSED_VARIABLE = YES;
631
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
632
+ MTL_ENABLE_DEBUG_INFO = NO;
633
+ SDKROOT = iphoneos;
634
+ SUPPORTED_PLATFORMS = iphoneos;
635
+ SWIFT_COMPILATION_MODE = wholemodule;
636
+ SWIFT_OPTIMIZATION_LEVEL = "-O";
637
+ TARGETED_DEVICE_FAMILY = "1,2";
638
+ VALIDATE_PRODUCT = YES;
639
+ };
640
+ name = Release;
641
+ };
642
+ 97C147061CF9000F007C117D /* Debug */ = {
643
+ isa = XCBuildConfiguration;
644
+ baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
645
+ buildSettings = {
646
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
647
+ CLANG_ENABLE_MODULES = YES;
648
+ CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
649
+ ENABLE_BITCODE = NO;
650
+ INFOPLIST_FILE = Runner/Info.plist;
651
+ LD_RUNPATH_SEARCH_PATHS = (
652
+ "$(inherited)",
653
+ "@executable_path/Frameworks",
654
+ );
655
+ PRODUCT_BUNDLE_IDENTIFIER = sh.pyros.bibleApp;
656
+ PRODUCT_NAME = "$(TARGET_NAME)";
657
+ SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
658
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
659
+ SWIFT_VERSION = 5.0;
660
+ VERSIONING_SYSTEM = "apple-generic";
661
+ };
662
+ name = Debug;
663
+ };
664
+ 97C147071CF9000F007C117D /* Release */ = {
665
+ isa = XCBuildConfiguration;
666
+ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
667
+ buildSettings = {
668
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
669
+ CLANG_ENABLE_MODULES = YES;
670
+ CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
671
+ ENABLE_BITCODE = NO;
672
+ INFOPLIST_FILE = Runner/Info.plist;
673
+ LD_RUNPATH_SEARCH_PATHS = (
674
+ "$(inherited)",
675
+ "@executable_path/Frameworks",
676
+ );
677
+ PRODUCT_BUNDLE_IDENTIFIER = sh.pyros.bibleApp;
678
+ PRODUCT_NAME = "$(TARGET_NAME)";
679
+ SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
680
+ SWIFT_VERSION = 5.0;
681
+ VERSIONING_SYSTEM = "apple-generic";
682
+ };
683
+ name = Release;
684
+ };
685
+ /* End XCBuildConfiguration section */
686
+
687
+ /* Begin XCConfigurationList section */
688
+ 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = {
689
+ isa = XCConfigurationList;
690
+ buildConfigurations = (
691
+ 331C8088294A63A400263BE5 /* Debug */,
692
+ 331C8089294A63A400263BE5 /* Release */,
693
+ 331C808A294A63A400263BE5 /* Profile */,
694
+ );
695
+ defaultConfigurationIsVisible = 0;
696
+ defaultConfigurationName = Release;
697
+ };
698
+ 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
699
+ isa = XCConfigurationList;
700
+ buildConfigurations = (
701
+ 97C147031CF9000F007C117D /* Debug */,
702
+ 97C147041CF9000F007C117D /* Release */,
703
+ 249021D3217E4FDB00AE95B9 /* Profile */,
704
+ );
705
+ defaultConfigurationIsVisible = 0;
706
+ defaultConfigurationName = Release;
707
+ };
708
+ 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
709
+ isa = XCConfigurationList;
710
+ buildConfigurations = (
711
+ 97C147061CF9000F007C117D /* Debug */,
712
+ 97C147071CF9000F007C117D /* Release */,
713
+ 249021D4217E4FDB00AE95B9 /* Profile */,
714
+ );
715
+ defaultConfigurationIsVisible = 0;
716
+ defaultConfigurationName = Release;
717
+ };
718
+ /* End XCConfigurationList section */
719
+ };
720
+ rootObject = 97C146E61CF9000F007C117D /* Project object */;
721
+ }
ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata ADDED
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ <FileRef
5
+ location = "self:">
6
+ </FileRef>
7
+ </Workspace>
ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist ADDED
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>IDEDidComputeMac32BitWarning</key>
6
+ <true/>
7
+ </dict>
8
+ </plist>
ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings ADDED
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>PreviewsEnabled</key>
6
+ <false/>
7
+ </dict>
8
+ </plist>
ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme ADDED
@@ -0,0 +1,98 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Scheme
3
+ LastUpgradeVersion = "1300"
4
+ version = "1.3">
5
+ <BuildAction
6
+ parallelizeBuildables = "YES"
7
+ buildImplicitDependencies = "YES">
8
+ <BuildActionEntries>
9
+ <BuildActionEntry
10
+ buildForTesting = "YES"
11
+ buildForRunning = "YES"
12
+ buildForProfiling = "YES"
13
+ buildForArchiving = "YES"
14
+ buildForAnalyzing = "YES">
15
+ <BuildableReference
16
+ BuildableIdentifier = "primary"
17
+ BlueprintIdentifier = "97C146ED1CF9000F007C117D"
18
+ BuildableName = "Runner.app"
19
+ BlueprintName = "Runner"
20
+ ReferencedContainer = "container:Runner.xcodeproj">
21
+ </BuildableReference>
22
+ </BuildActionEntry>
23
+ </BuildActionEntries>
24
+ </BuildAction>
25
+ <TestAction
26
+ buildConfiguration = "Debug"
27
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29
+ shouldUseLaunchSchemeArgsEnv = "YES">
30
+ <MacroExpansion>
31
+ <BuildableReference
32
+ BuildableIdentifier = "primary"
33
+ BlueprintIdentifier = "97C146ED1CF9000F007C117D"
34
+ BuildableName = "Runner.app"
35
+ BlueprintName = "Runner"
36
+ ReferencedContainer = "container:Runner.xcodeproj">
37
+ </BuildableReference>
38
+ </MacroExpansion>
39
+ <Testables>
40
+ <TestableReference
41
+ skipped = "NO"
42
+ parallelizable = "YES">
43
+ <BuildableReference
44
+ BuildableIdentifier = "primary"
45
+ BlueprintIdentifier = "331C8080294A63A400263BE5"
46
+ BuildableName = "RunnerTests.xctest"
47
+ BlueprintName = "RunnerTests"
48
+ ReferencedContainer = "container:Runner.xcodeproj">
49
+ </BuildableReference>
50
+ </TestableReference>
51
+ </Testables>
52
+ </TestAction>
53
+ <LaunchAction
54
+ buildConfiguration = "Debug"
55
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
56
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
57
+ launchStyle = "0"
58
+ useCustomWorkingDirectory = "NO"
59
+ ignoresPersistentStateOnLaunch = "NO"
60
+ debugDocumentVersioning = "YES"
61
+ debugServiceExtension = "internal"
62
+ allowLocationSimulation = "YES">
63
+ <BuildableProductRunnable
64
+ runnableDebuggingMode = "0">
65
+ <BuildableReference
66
+ BuildableIdentifier = "primary"
67
+ BlueprintIdentifier = "97C146ED1CF9000F007C117D"
68
+ BuildableName = "Runner.app"
69
+ BlueprintName = "Runner"
70
+ ReferencedContainer = "container:Runner.xcodeproj">
71
+ </BuildableReference>
72
+ </BuildableProductRunnable>
73
+ </LaunchAction>
74
+ <ProfileAction
75
+ buildConfiguration = "Profile"
76
+ shouldUseLaunchSchemeArgsEnv = "YES"
77
+ savedToolIdentifier = ""
78
+ useCustomWorkingDirectory = "NO"
79
+ debugDocumentVersioning = "YES">
80
+ <BuildableProductRunnable
81
+ runnableDebuggingMode = "0">
82
+ <BuildableReference
83
+ BuildableIdentifier = "primary"
84
+ BlueprintIdentifier = "97C146ED1CF9000F007C117D"
85
+ BuildableName = "Runner.app"
86
+ BlueprintName = "Runner"
87
+ ReferencedContainer = "container:Runner.xcodeproj">
88
+ </BuildableReference>
89
+ </BuildableProductRunnable>
90
+ </ProfileAction>
91
+ <AnalyzeAction
92
+ buildConfiguration = "Debug">
93
+ </AnalyzeAction>
94
+ <ArchiveAction
95
+ buildConfiguration = "Release"
96
+ revealArchiveInOrganizer = "YES">
97
+ </ArchiveAction>
98
+ </Scheme>
ios/Runner.xcworkspace/contents.xcworkspacedata ADDED
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ <FileRef
5
+ location = "group:Runner.xcodeproj">
6
+ </FileRef>
7
+ <FileRef
8
+ location = "group:Pods/Pods.xcodeproj">
9
+ </FileRef>
10
+ </Workspace>
ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist ADDED
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>IDEDidComputeMac32BitWarning</key>
6
+ <true/>
7
+ </dict>
8
+ </plist>
ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings ADDED
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>PreviewsEnabled</key>
6
+ <false/>
7
+ </dict>
8
+ </plist>
ios/Runner/AppDelegate.swift ADDED
@@ -0,0 +1,13 @@
1
+ import UIKit
2
+ import Flutter
3
+
4
+ @UIApplicationMain
5
+ @objc class AppDelegate: FlutterAppDelegate {
6
+ override func application(
7
+ _ application: UIApplication,
8
+ didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9
+ ) -> Bool {
10
+ GeneratedPluginRegistrant.register(with: self)
11
+ return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12
+ }
13
+ }
ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json ADDED
@@ -0,0 +1,122 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "size" : "20x20",
5
+ "idiom" : "iphone",
6
+ "filename" : "Icon-App-20x20@2x.png",
7
+ "scale" : "2x"
8
+ },
9
+ {
10
+ "size" : "20x20",
11
+ "idiom" : "iphone",
12
+ "filename" : "Icon-App-20x20@3x.png",
13
+ "scale" : "3x"
14
+ },
15
+ {
16
+ "size" : "29x29",
17
+ "idiom" : "iphone",
18
+ "filename" : "Icon-App-29x29@1x.png",
19
+ "scale" : "1x"
20
+ },
21
+ {
22
+ "size" : "29x29",
23
+ "idiom" : "iphone",
24
+ "filename" : "Icon-App-29x29@2x.png",
25
+ "scale" : "2x"
26
+ },
27
+ {
28
+ "size" : "29x29",
29
+ "idiom" : "iphone",
30
+ "filename" : "Icon-App-29x29@3x.png",
31
+ "scale" : "3x"
32
+ },
33
+ {
34
+ "size" : "40x40",
35
+ "idiom" : "iphone",
36
+ "filename" : "Icon-App-40x40@2x.png",
37
+ "scale" : "2x"
38
+ },
39
+ {
40
+ "size" : "40x40",
41
+ "idiom" : "iphone",
42
+ "filename" : "Icon-App-40x40@3x.png",
43
+ "scale" : "3x"
44
+ },
45
+ {
46
+ "size" : "60x60",
47
+ "idiom" : "iphone",
48
+ "filename" : "Icon-App-60x60@2x.png",
49
+ "scale" : "2x"
50
+ },
51
+ {
52
+ "size" : "60x60",
53
+ "idiom" : "iphone",
54
+ "filename" : "Icon-App-60x60@3x.png",
55
+ "scale" : "3x"
56
+ },
57
+ {
58
+ "size" : "20x20",
59
+ "idiom" : "ipad",
60
+ "filename" : "Icon-App-20x20@1x.png",
61
+ "scale" : "1x"
62
+ },
63
+ {
64
+ "size" : "20x20",
65
+ "idiom" : "ipad",
66
+ "filename" : "Icon-App-20x20@2x.png",
67
+ "scale" : "2x"
68
+ },
69
+ {
70
+ "size" : "29x29",
71
+ "idiom" : "ipad",
72
+ "filename" : "Icon-App-29x29@1x.png",
73
+ "scale" : "1x"
74
+ },
75
+ {
76
+ "size" : "29x29",
77
+ "idiom" : "ipad",
78
+ "filename" : "Icon-App-29x29@2x.png",
79
+ "scale" : "2x"
80
+ },
81
+ {
82
+ "size" : "40x40",
83
+ "idiom" : "ipad",
84
+ "filename" : "Icon-App-40x40@1x.png",
85
+ "scale" : "1x"
86
+ },
87
+ {
88
+ "size" : "40x40",
89
+ "idiom" : "ipad",
90
+ "filename" : "Icon-App-40x40@2x.png",
91
+ "scale" : "2x"
92
+ },
93
+ {
94
+ "size" : "76x76",
95
+ "idiom" : "ipad",
96
+ "filename" : "Icon-App-76x76@1x.png",
97
+ "scale" : "1x"
98
+ },
99
+ {
100
+ "size" : "76x76",
101
+ "idiom" : "ipad",
102
+ "filename" : "Icon-App-76x76@2x.png",
103
+ "scale" : "2x"
104
+ },
105
+ {
106
+ "size" : "83.5x83.5",
107
+ "idiom" : "ipad",
108
+ "filename" : "Icon-App-83.5x83.5@2x.png",
109
+ "scale" : "2x"
110
+ },
111
+ {
112
+ "size" : "1024x1024",
113
+ "idiom" : "ios-marketing",
114
+ "filename" : "Icon-App-1024x1024@1x.png",
115
+ "scale" : "1x"
116
+ }
117
+ ],
118
+ "info" : {
119
+ "version" : 1,
120
+ "author" : "xcode"
121
+ }
122
+ }
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png ADDED
Binary file
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png ADDED
Binary file
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png ADDED
Binary file
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png ADDED
Binary file
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png ADDED
Binary file
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png ADDED
Binary file
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png ADDED
Binary file
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png ADDED
Binary file
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png ADDED
Binary file
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png ADDED
Binary file
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png ADDED
Binary file
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png ADDED
Binary file
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png ADDED
Binary file
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png ADDED
Binary file
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png ADDED
Binary file
ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json ADDED
@@ -0,0 +1,23 @@
1
+ {
2
+ "images" : [
3
+ {
4
+ "idiom" : "universal",
5
+ "filename" : "LaunchImage.png",
6
+ "scale" : "1x"
7
+ },
8
+ {
9
+ "idiom" : "universal",
10
+ "filename" : "LaunchImage@2x.png",
11
+ "scale" : "2x"
12
+ },
13
+ {
14
+ "idiom" : "universal",
15
+ "filename" : "LaunchImage@3x.png",
16
+ "scale" : "3x"
17
+ }
18
+ ],
19
+ "info" : {
20
+ "version" : 1,
21
+ "author" : "xcode"
22
+ }
23
+ }
ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png ADDED
Binary file
ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png ADDED
Binary file
ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png ADDED
Binary file
ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # Launch Screen Assets
2
+
3
+ You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4
+
5
+ You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
ios/Runner/Base.lproj/LaunchScreen.storyboard ADDED
@@ -0,0 +1,37 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
3
+ <dependencies>
4
+ <deployment identifier="iOS"/>
5
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
6
+ </dependencies>
7
+ <scenes>
8
+ <!--View Controller-->
9
+ <scene sceneID="EHf-IW-A2E">
10
+ <objects>
11
+ <viewController id="01J-lp-oVM" sceneMemberID="viewController">
12
+ <layoutGuides>
13
+ <viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/>
14
+ <viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
15
+ </layoutGuides>
16
+ <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
17
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
18
+ <subviews>
19
+ <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
20
+ </imageView>
21
+ </subviews>
22
+ <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
23
+ <constraints>
24
+ <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
25
+ <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
26
+ </constraints>
27
+ </view>
28
+ </viewController>
29
+ <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
30
+ </objects>
31
+ <point key="canvasLocation" x="53" y="375"/>
32
+ </scene>
33
+ </scenes>
34
+ <resources>
35
+ <image name="LaunchImage" width="168" height="185"/>
36
+ </resources>
37
+ </document>
ios/Runner/Base.lproj/Main.storyboard ADDED
@@ -0,0 +1,26 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
3
+ <dependencies>
4
+ <deployment identifier="iOS"/>
5
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
6
+ </dependencies>
7
+ <scenes>
8
+ <!--Flutter View Controller-->
9
+ <scene sceneID="tne-QT-ifu">
10
+ <objects>
11
+ <viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController">
12
+ <layoutGuides>
13
+ <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
14
+ <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
15
+ </layoutGuides>
16
+ <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
17
+ <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
18
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
19
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
20
+ </view>
21
+ </viewController>
22
+ <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
23
+ </objects>
24
+ </scene>
25
+ </scenes>
26
+ </document>
ios/Runner/Info.plist ADDED
@@ -0,0 +1,51 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>CFBundleDevelopmentRegion</key>
6
+ <string>$(DEVELOPMENT_LANGUAGE)</string>
7
+ <key>CFBundleDisplayName</key>
8
+ <string>Bible App</string>
9
+ <key>CFBundleExecutable</key>
10
+ <string>$(EXECUTABLE_NAME)</string>
11
+ <key>CFBundleIdentifier</key>
12
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
13
+ <key>CFBundleInfoDictionaryVersion</key>
14
+ <string>6.0</string>
15
+ <key>CFBundleName</key>
16
+ <string>bible_app</string>
17
+ <key>CFBundlePackageType</key>
18
+ <string>APPL</string>
19
+ <key>CFBundleShortVersionString</key>
20
+ <string>$(FLUTTER_BUILD_NAME)</string>
21
+ <key>CFBundleSignature</key>
22
+ <string>????</string>
23
+ <key>CFBundleVersion</key>
24
+ <string>$(FLUTTER_BUILD_NUMBER)</string>
25
+ <key>LSRequiresIPhoneOS</key>
26
+ <true/>
27
+ <key>UILaunchStoryboardName</key>
28
+ <string>LaunchScreen</string>
29
+ <key>UIMainStoryboardFile</key>
30
+ <string>Main</string>
31
+ <key>UISupportedInterfaceOrientations</key>
32
+ <array>
33
+ <string>UIInterfaceOrientationPortrait</string>
34
+ <string>UIInterfaceOrientationLandscapeLeft</string>
35
+ <string>UIInterfaceOrientationLandscapeRight</string>
36
+ </array>
37
+ <key>UISupportedInterfaceOrientations~ipad</key>
38
+ <array>
39
+ <string>UIInterfaceOrientationPortrait</string>
40
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
41
+ <string>UIInterfaceOrientationLandscapeLeft</string>
42
+ <string>UIInterfaceOrientationLandscapeRight</string>
43
+ </array>
44
+ <key>UIViewControllerBasedStatusBarAppearance</key>
45
+ <false/>
46
+ <key>CADisableMinimumFrameDurationOnPhone</key>
47
+ <true/>
48
+ <key>UIApplicationSupportsIndirectInputEvents</key>
49
+ <true/>
50
+ </dict>
51
+ </plist>
ios/Runner/Runner-Bridging-Header.h ADDED
@@ -0,0 +1 @@
1
+ #import "GeneratedPluginRegistrant.h"
ios/RunnerTests/RunnerTests.swift ADDED
@@ -0,0 +1,12 @@
1
+ import Flutter
2
+ import UIKit
3
+ import XCTest
4
+
5
+ class RunnerTests: XCTestCase {
6
+
7
+ func testExample() {
8
+ // If you add code to the Runner application, consider adding tests here.
9
+ // See https://developer.apple.com/documentation/xctest for more information about using XCTest.
10
+ }
11
+
12
+ }
lib/app.dart CHANGED
@@ -29,7 +29,7 @@ class App extends StatelessWidget {
29
29
  style: TextButton.styleFrom(
30
30
  padding: EdgeInsets.zero,
31
31
  shape: const RoundedRectangleBorder(),
32
- elevation: 1,
32
+ elevation: isWide(context) ? 1 : 0.5,
33
33
  // backgroundColor: const Color(0xFFF6F6F6),
34
34
  backgroundColor: const Color(0xFFEAE9E9),
35
35
  foregroundColor: const Color(0xFF9A1111),
lib/components/book_selector.dart CHANGED
@@ -29,8 +29,7 @@ class BookSelectorState extends State<BookSelector> {
29
29
  }
30
30
 
31
31
  onChapterSelected(int index) {
32
- saveBookIndex(bookIndex, index);
32
+ navigateBookChapter(context, bookIndex, index);
33
- context.push("/${selectedBible.value[bookIndex].name}/$index");
34
33
  }
35
34
 
36
35
  @override
@@ -46,10 +45,8 @@ class BookSelectorState extends State<BookSelector> {
46
45
  ),
47
46
  );
48
47
  }
49
- final oldTestament =
50
- selectedBible.value.where((it) => it.isOldTestament()).toList();
48
+ final oldTestament = selectedBible.value.where((it) => it.isOldTestament()).toList();
51
- final newTestament =
52
- selectedBible.value.where((it) => it.isNewTestament()).toList();
49
+ final newTestament = selectedBible.value.where((it) => it.isNewTestament()).toList();
53
50
  return Container(
54
51
  margin: const EdgeInsets.only(top: 15, left: 20),
55
52
  child: ListView(
lib/components/menu.dart CHANGED
@@ -14,41 +14,42 @@ class Menu extends StatelessWidget {
14
14
  icon: Icon(moreIcon, size: 28),
15
15
  offset: const Offset(0.0, 60),
16
16
  itemBuilder: (BuildContext itemContext) {
17
- final modeIcon = darkMode.reactiveValue(itemContext)
18
- ? Icons.dark_mode
19
- : Icons.light_mode;
20
- final boldColor =
21
- fontBold.reactiveValue(itemContext) ? Colors.red : Colors.grey;
22
17
  return [
23
18
  PopupMenuItem(
24
19
  value: 1,
20
+ child: StatefulBuilder(
21
+ builder: (BuildContext menuContext, StateSetter setState) {
22
+ final modeIcon = darkMode.reactiveValue(menuContext) ? Icons.dark_mode : Icons.light_mode;
23
+ final boldColor = fontBold.reactiveValue(menuContext) ? Colors.red : Colors.grey;
25
- child: Column(
24
+ return Column(
26
- crossAxisAlignment: CrossAxisAlignment.center,
25
+ crossAxisAlignment: CrossAxisAlignment.center,
27
- mainAxisAlignment: MainAxisAlignment.center,
26
+ mainAxisAlignment: MainAxisAlignment.center,
28
- children: [
27
+ children: [
29
- IconButton(
28
+ IconButton(
30
- icon: Icon(modeIcon, size: 28),
29
+ icon: Icon(modeIcon, size: 28),
31
- onPressed: toggleMode,
30
+ onPressed: toggleMode,
32
- ),
31
+ ),
33
- Container(margin: const EdgeInsets.only(top: spacing)),
32
+ Container(margin: const EdgeInsets.only(top: spacing)),
34
- IconButton(
33
+ IconButton(
35
- icon: Icon(Icons.format_bold, size: 28),
34
+ icon: Icon(Icons.format_bold, size: 28),
36
- onPressed: toggleBold,
35
+ onPressed: toggleBold,
37
- ),
36
+ ),
38
- Container(margin: const EdgeInsets.only(top: spacing)),
37
+ Container(margin: const EdgeInsets.only(top: spacing)),
39
- const IconButton(
38
+ const IconButton(
40
- icon: Icon(Icons.add_circle, size: 28),
39
+ icon: Icon(Icons.add_circle, size: 28),
41
- onPressed: increaseFont,
40
+ onPressed: increaseFont,
42
- ),
41
+ ),
43
- Container(margin: const EdgeInsets.only(top: spacing)),
42
+ Container(margin: const EdgeInsets.only(top: spacing)),
44
- const IconButton(
43
+ const IconButton(
45
- icon: Icon(
44
+ icon: Icon(
46
- Icons.remove_circle,
45
+ Icons.remove_circle,
47
- size: 28,
46
+ size: 28,
48
- ),
47
+ ),
49
- onPressed: decreaseFont,
48
+ onPressed: decreaseFont,
50
- ),
49
+ ),
51
- ],
50
+ ],
51
+ );
52
+ },
52
53
  ),
53
54
  ),
54
55
  ];
lib/components/sidebar.dart CHANGED
@@ -1,7 +1,5 @@
1
1
  import "package:flutter/material.dart";
2
2
 
3
- import 'package:only_bible_app/state.dart';
4
-
5
3
  class Sidebar extends StatelessWidget {
6
4
  const Sidebar({super.key});
7
5
 
lib/components/verse_view.dart CHANGED
@@ -14,36 +14,34 @@ class VerseText extends StatelessWidget {
14
14
  final delta = fontSizeDelta.reactiveValue(context);
15
15
  final bodySize = Theme.of(context).textTheme.bodyMedium!.fontSize! + delta;
16
16
  final weight = fontBold.reactiveValue(context) ? FontWeight.w600 : FontWeight.w500;
17
+
17
18
  onTap() {
18
19
  onVerseSelected(index);
19
20
  }
20
21
 
21
- return MouseRegion(
22
- cursor: SystemMouseCursors.click,
23
- child: GestureDetector(
22
+ return GestureDetector(
24
- onTap: onTap,
23
+ onTap: onTap,
25
- child: DecoratedBox(
24
+ child: DecoratedBox(
26
- decoration: BoxDecoration(
25
+ decoration: BoxDecoration(
27
- color: selected ? Theme.of(context).highlightColor : Theme.of(context).colorScheme.background,
26
+ color: selected ? Theme.of(context).highlightColor : Theme.of(context).colorScheme.background,
28
- ),
27
+ ),
29
- child: Row(
28
+ child: Row(
30
- crossAxisAlignment: CrossAxisAlignment.start,
29
+ crossAxisAlignment: CrossAxisAlignment.start,
31
- children: [
30
+ children: [
32
- Container(
31
+ Container(
33
- margin: const EdgeInsets.only(right: 4),
32
+ margin: const EdgeInsets.only(right: 4),
34
- child: Transform.translate(
33
+ child: Transform.translate(
35
- offset: const Offset(0, 2),
34
+ offset: const Offset(0, 2),
36
- child: Text("${index + 1}", style: Theme.of(context).textTheme.labelMedium),
35
+ child: Text("${index + 1}", style: Theme.of(context).textTheme.labelMedium),
37
- ),
36
+ ),
37
+ ),
38
+ Flexible(
39
+ child: Text(
40
+ text,
41
+ style: TextStyle(fontSize: bodySize, fontWeight: weight),
38
42
  ),
39
- Flexible(
40
- child: Text(
41
- text,
42
- style: TextStyle(fontSize: bodySize, fontWeight: weight),
43
- ),
44
- )
43
+ )
45
- ],
44
+ ],
46
- ),
47
45
  ),
48
46
  ),
49
47
  );
lib/routes/home_screen.dart CHANGED
@@ -1,4 +1,5 @@
1
1
  import "package:flutter/material.dart";
2
+ import 'package:flutter_swipe_detector/flutter_swipe_detector.dart';
2
3
  import 'package:go_router/go_router.dart';
3
4
  import 'package:only_bible_app/components/header.dart';
4
5
  import 'package:only_bible_app/components/verse_view.dart';
@@ -17,27 +18,51 @@ class HomeScreen extends GoRouteData {
17
18
  final selectedBook = selectedBible.value.firstWhere((it) => book == it.name);
18
19
  final verses = selectedBook.chapters[chapter].verses;
19
20
  return NoTransitionPage(
21
+ child: SwipeDetector(
22
+ onSwipeLeft: (offset) {
23
+ if (selectedBook.chapters.length > chapter + 1) {
24
+ navigateBookChapter(context, selectedBook.index, chapter + 1);
25
+ } else {
26
+ if (selectedBook.index + 1 < selectedBible.value.length) {
27
+ final nextBook = selectedBible.value[selectedBook.index + 1];
28
+ navigateBookChapter(context, nextBook.index, 0);
29
+ }
30
+ }
31
+ },
32
+ onSwipeRight: (offset) {
33
+ if (chapter - 1 >= 0) {
34
+ navigateBookChapter(context, selectedBook.index, chapter - 1);
35
+ } else {
36
+ if (selectedBook.index - 1 >= 0) {
37
+ final prevBook = selectedBible.value[selectedBook.index - 1];
38
+ navigateBookChapter(context, prevBook.index, prevBook.chapters.length - 1);
39
+ }
40
+ }
41
+ },
20
- child: Container(
42
+ child: Container(
21
- margin: EdgeInsets.symmetric(
43
+ margin: EdgeInsets.symmetric(
22
- horizontal: isWide(context) ? 40 : 20,
44
+ horizontal: isWide(context) ? 40 : 20,
23
- ),
45
+ ),
24
- child: Column(
46
+ child: Column(
25
- children: [
47
+ children: [
26
- Header(book: selectedBook.index, chapter: chapter, verses: verses),
48
+ Header(book: selectedBook.index, chapter: chapter, verses: verses),
27
- Flexible(
49
+ Flexible(
50
+ child: SelectionArea(
28
- child: ListView.builder(
51
+ child: ListView.builder(
29
- padding: const EdgeInsets.symmetric(vertical: 20),
52
+ padding: const EdgeInsets.symmetric(vertical: 20),
30
- itemCount: verses.length,
53
+ itemCount: verses.length,
31
- itemBuilder: (BuildContext context, int index) {
54
+ itemBuilder: (BuildContext context, int index) {
32
- final v = verses[index];
55
+ final v = verses[index];
33
- return Container(
56
+ return Container(
34
- margin: const EdgeInsets.symmetric(vertical: 6),
57
+ margin: const EdgeInsets.symmetric(vertical: 6),
35
- child: VerseText(index: index, text: v.text),
58
+ child: VerseText(index: index, text: v.text),
36
- );
59
+ );
37
- },
60
+ },
61
+ ),
62
+ ),
38
63
  ),
64
+ ],
39
- ),
65
+ ),
40
- ],
41
66
  ),
42
67
  ),
43
68
  );
lib/state.dart CHANGED
@@ -4,6 +4,7 @@ import 'package:flutter/services.dart';
4
4
  import 'package:flutter/material.dart';
5
5
  import 'package:flutter_persistent_value_notifier/flutter_persistent_value_notifier.dart';
6
6
  import 'package:flutter_reactive_value/flutter_reactive_value.dart';
7
+ import 'package:go_router/go_router.dart';
7
8
  import 'package:just_audio/just_audio.dart';
8
9
  import 'package:only_bible_app/utils/dialog.dart';
9
10
  import 'package:only_bible_app/models/book.dart';
@@ -73,9 +74,10 @@ updateStatusBar() {
73
74
  }
74
75
  }
75
76
 
76
- saveBookIndex(int book, int chapter) {
77
+ navigateBookChapter(BuildContext context, int book, int chapter) {
77
78
  bookIndex.value = book;
78
79
  chapterIndex.value = chapter;
80
+ context.push("/${selectedBible.value[book].name}/$chapter");
79
81
  }
80
82
 
81
83
  loadBible() async {
pubspec.lock CHANGED
@@ -195,6 +195,14 @@ packages:
195
195
  url: "https://pub.dev"
196
196
  source: hosted
197
197
  version: "1.0.4"
198
+ flutter_swipe_detector:
199
+ dependency: "direct main"
200
+ description:
201
+ name: flutter_swipe_detector
202
+ sha256: ae6fe331de414632c0122a7047d64dfe2332c95b3f06a05118a7ea538ff19eda
203
+ url: "https://pub.dev"
204
+ source: hosted
205
+ version: "2.0.0"
198
206
  flutter_test:
199
207
  dependency: "direct dev"
200
208
  description: flutter
pubspec.yaml CHANGED
@@ -18,6 +18,7 @@ dependencies:
18
18
  flutter_native_splash: ^2.3.1
19
19
  flutter_charset_detector: ^1.0.2
20
20
  one_context: ^2.1.0
21
+ flutter_swipe_detector: ^2.0.0
21
22
 
22
23
  dev_dependencies:
23
24
  flutter_test: