diff --git a/README.md b/README.md index e7bf9d8..2058f35 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,28 @@ My plan is to: - *1.2* Modify the watch app functionally into WatchTips - *1.3* Update the Flutter app to WatchTips - *1.4* See if I can bridge between the 2 app (as the Titanium version does) -- **1.5 Tidy up both the Flutter code and the iOS project and use it to submit the app into the App Store** +- *2.0* Tidy up both the Flutter code and the iOS project and use it to submit the app into the App Store + + +## Generating a Distro build +The only way, so far, I have found of creating a distro build is following this seqence. + +### Set the Bundle ID +BEFORE adding the Watchit app target set the final bundle ID, as the Watch app need to use the same prefix. If not you may need to update all references BEFORE creating the final Archive. + +### Change ALL the Version and Build values +This MUST for each target (in this case 3) to **$(FLUTTER_BUILD_NAME)** and **$(FLUTTER_BUILD_NUMBER)** respectively, otherwise although the test runs work, the Archive will not unless the version numbers match. + +### Run the Flutter build first +This will fail, but it generates the *correct shell scripts* to enable iOS to carry out the build (*flutter build ios --release*). + +### Create Archive in XCode +- 1 Select Generic Device + watchOS Device as the destination +- 2 Run Product -> Archive +- 3 If build successful , run the Validate App +- 4 If validate successful - upload to App Store!!! + + ## Versions diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index b7df815..226156b 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -533,8 +533,9 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - PRODUCT_BUNDLE_IDENTIFIER = uk.spiralarm.watchtips; + PRODUCT_BUNDLE_IDENTIFIER = uk.spiralarm.tipcalculator; PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = 1; VERSIONING_SYSTEM = "apple-generic"; }; name = Profile; @@ -557,7 +558,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = uk.spiralarm.watchtips.watchkitapp.watchkitextension; + PRODUCT_BUNDLE_IDENTIFIER = uk.spiralarm.tipcalculator.watchkitapp.watchkitextension; PRODUCT_NAME = "${TARGET_NAME}"; SDKROOT = watchos; SKIP_INSTALL = YES; @@ -586,7 +587,7 @@ INFOPLIST_FILE = "WatchTips Extension/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = uk.spiralarm.watchtips.watchkitapp.watchkitextension; + PRODUCT_BUNDLE_IDENTIFIER = uk.spiralarm.tipcalculator.watchkitapp.watchkitextension; PRODUCT_NAME = "${TARGET_NAME}"; SDKROOT = watchos; SKIP_INSTALL = YES; @@ -614,7 +615,7 @@ INFOPLIST_FILE = "WatchTips Extension/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = uk.spiralarm.watchtips.watchkitapp.watchkitextension; + PRODUCT_BUNDLE_IDENTIFIER = uk.spiralarm.tipcalculator.watchkitapp.watchkitextension; PRODUCT_NAME = "${TARGET_NAME}"; SDKROOT = watchos; SKIP_INSTALL = YES; @@ -644,7 +645,7 @@ INFOPLIST_FILE = WatchTips/Info.plist; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = uk.spiralarm.watchtips.watchkitapp; + PRODUCT_BUNDLE_IDENTIFIER = uk.spiralarm.tipcalculator.watchkitapp; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = watchos; SKIP_INSTALL = YES; @@ -674,7 +675,7 @@ IBSC_MODULE = WatchTips_Extension; INFOPLIST_FILE = WatchTips/Info.plist; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = uk.spiralarm.watchtips.watchkitapp; + PRODUCT_BUNDLE_IDENTIFIER = uk.spiralarm.tipcalculator.watchkitapp; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = watchos; SKIP_INSTALL = YES; @@ -703,7 +704,7 @@ IBSC_MODULE = WatchTips_Extension; INFOPLIST_FILE = WatchTips/Info.plist; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = uk.spiralarm.watchtips.watchkitapp; + PRODUCT_BUNDLE_IDENTIFIER = uk.spiralarm.tipcalculator.watchkitapp; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = watchos; SKIP_INSTALL = YES; @@ -834,8 +835,9 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - PRODUCT_BUNDLE_IDENTIFIER = uk.spiralarm.watchtips; + PRODUCT_BUNDLE_IDENTIFIER = uk.spiralarm.tipcalculator; PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = 1; VERSIONING_SYSTEM = "apple-generic"; }; name = Debug; @@ -858,8 +860,9 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - PRODUCT_BUNDLE_IDENTIFIER = uk.spiralarm.watchtips; + PRODUCT_BUNDLE_IDENTIFIER = uk.spiralarm.tipcalculator; PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = 1; VERSIONING_SYSTEM = "apple-generic"; }; name = Release; diff --git a/ios/Runner/AppDelegate.m b/ios/Runner/AppDelegate.m index c0cd28b..dc78a71 100644 --- a/ios/Runner/AppDelegate.m +++ b/ios/Runner/AppDelegate.m @@ -8,7 +8,7 @@ @implementation WTUserInfoHandler NSDictionary *info; - (void) updateUserInfo:(nonnull NSDictionary *)userInfo{ - NSLog(@"Update Recieved"); + //NSLog(@"Update Recieved"); if(info != userInfo){ info = userInfo; if(sink!=nil){ @@ -18,13 +18,13 @@ - (void) updateUserInfo:(nonnull NSDictionary *)userInfo{ } - (FlutterError*)onListenWithArguments:(id)arguments eventSink:(FlutterEventSink)eventSink { - NSLog(@"Adding Flutter Listener"); + //NSLog(@"Adding Flutter Listener"); sink = eventSink; return nil; } - (FlutterError*)onCancelWithArguments:(id)arguments { - NSLog(@"Removing Flutter Listener"); + //NSLog(@"Removing Flutter Listener"); if(sink!=nil){ sink = nil; } @@ -36,8 +36,6 @@ - (FlutterError*)onCancelWithArguments:(id)arguments { @implementation AppDelegate -#pragma mark watch session delegates - // Event triggered when userInfo Rxd - (void)session:(nonnull WCSession *)session didReceiveUserInfo:(nonnull NSDictionary *)userInfo { @@ -46,11 +44,6 @@ - (void)session:(nonnull WCSession *)session didReceiveUserInfo:(nonnull NSDicti } } - - - -#pragma mark watch session methods - // Method used to enable the Watch session - (void)activateSession { @@ -60,7 +53,6 @@ - (void)activateSession // create our eventChannel -(FlutterEventChannel *) activateChannel { - NSLog(@"activateChannel"); userInfoStreamHandler = [[WTUserInfoHandler alloc] init]; FlutterViewController* controller = (FlutterViewController*)self.window.rootViewController; FlutterEventChannel *eventChannel = [FlutterEventChannel eventChannelWithName:@"uk.spiralarm.watchtips/tipinfo/watchdata" binaryMessenger:controller]; @@ -83,6 +75,7 @@ - (WCSession *)watchSession } return watchSession; } + - (void)dealloc { if (watchSession != nil) { @@ -105,6 +98,8 @@ - (BOOL)application:(UIApplication *)application if([@"activateSession" isEqualToString:call.method]){ [self activateSession]; result(@"WatchTips Activated"); + }else { + result(FlutterMethodNotImplemented);; } }]; diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json index 456afe5..e273f61 100644 --- a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,158 +1,158 @@ { - "info" : { - "version" : 1, - "author" : "xcode" - }, "images" : [ { - "size" : "40x40", "filename" : "Icon-40.png", "scale" : "1x", - "idiom" : "ipad" + "idiom" : "ipad", + "size" : "40x40" }, { - "size" : "40x40", "filename" : "Icon-40@2x.png", "scale" : "2x", - "idiom" : "ipad" + "idiom" : "ipad", + "size" : "40x40" }, { - "size" : "60x60", "filename" : "Icon-60@2x.png", "scale" : "2x", - "idiom" : "iphone" + "idiom" : "iphone", + "size" : "60x60" }, { - "size" : "72x72", "filename" : "Icon-72.png", "scale" : "1x", - "idiom" : "ipad" + "idiom" : "ipad", + "size" : "72x72" }, { - "size" : "72x72", "filename" : "Icon-72@2x.png", "scale" : "2x", - "idiom" : "ipad" + "idiom" : "ipad", + "size" : "72x72" }, { - "size" : "76x76", "filename" : "Icon-76.png", "scale" : "1x", - "idiom" : "ipad" + "idiom" : "ipad", + "size" : "76x76" }, { - "size" : "76x76", "filename" : "Icon-76@2x.png", "scale" : "2x", - "idiom" : "ipad" + "idiom" : "ipad", + "size" : "76x76" }, { - "size" : "50x50", "filename" : "Icon-Small-50.png", "scale" : "1x", - "idiom" : "ipad" + "idiom" : "ipad", + "size" : "50x50" }, { - "size" : "50x50", "filename" : "Icon-Small-50@2x.png", "scale" : "2x", - "idiom" : "ipad" + "idiom" : "ipad", + "size" : "50x50" }, { - "size" : "29x29", "filename" : "Icon-Small.png", "scale" : "1x", - "idiom" : "iphone" + "idiom" : "iphone", + "size" : "29x29" }, { - "size" : "29x29", "filename" : "Icon-Small@2x.png", "scale" : "2x", - "idiom" : "iphone" + "idiom" : "iphone", + "size" : "29x29" }, { - "size" : "57x57", "filename" : "Icon.png", "scale" : "1x", - "idiom" : "iphone" + "idiom" : "iphone", + "size" : "57x57" }, { - "size" : "57x57", "filename" : "Icon@2x.png", "scale" : "2x", - "idiom" : "iphone" + "idiom" : "iphone", + "size" : "57x57" }, { - "size" : "29x29", "filename" : "Icon-Small@3x.png", "scale" : "3x", - "idiom" : "iphone" + "idiom" : "iphone", + "size" : "29x29" }, { - "size" : "40x40", "filename" : "Icon-40@3x.png", "scale" : "3x", - "idiom" : "iphone" + "idiom" : "iphone", + "size" : "40x40" }, { - "size" : "60x60", "filename" : "Icon-60@3x.png", "scale" : "3x", - "idiom" : "iphone" + "idiom" : "iphone", + "size" : "60x60" }, { - "size" : "40x40", "filename" : "Icon-40@2x.png", "scale" : "2x", - "idiom" : "iphone" + "idiom" : "iphone", + "size" : "40x40" }, { - "size" : "29x29", "filename" : "Icon-Small.png", "scale" : "1x", - "idiom" : "ipad" + "idiom" : "ipad", + "size" : "29x29" }, { - "size" : "29x29", "filename" : "Icon-Small@2x.png", "scale" : "2x", - "idiom" : "ipad" + "idiom" : "ipad", + "size" : "29x29" }, { - "size" : "83.5x83.5", "filename" : "Icon-83.5@2x.png", "scale" : "2x", - "idiom" : "ipad" + "idiom" : "ipad", + "size" : "83.5x83.5" }, { - "size" : "20x20", "filename" : "NotificationIcon@2x.png", "scale" : "2x", - "idiom" : "iphone" + "idiom" : "iphone", + "size" : "20x20" }, { - "size" : "20x20", "filename" : "NotificationIcon@3x.png", "scale" : "3x", - "idiom" : "iphone" + "idiom" : "iphone", + "size" : "20x20" }, { - "size" : "20x20", "filename" : "NotificationIcon~ipad.png", "scale" : "1x", - "idiom" : "ipad" + "idiom" : "ipad", + "size" : "20x20" }, { - "size" : "20x20", "filename" : "NotificationIcon~ipad@2x.png", "scale" : "2x", - "idiom" : "ipad" + "idiom" : "ipad", + "size" : "20x20" }, { - "size" : "1024x1024", "filename" : "ios-marketing.png", "scale" : "1x", - "idiom" : "ios-marketing" + "idiom" : "ios-marketing", + "size" : "1024x1024" } - ] + ], + "info" : { + "author" : "xcode", + "version" : 1 + } } \ No newline at end of file diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-40.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-40.png index d3f8155..ee580cb 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-40.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-40.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png index b985816..b59eb0a 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png index 4bc5e77..79a7ce1 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png index 4bc5e77..79a7ce1 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png index b9ca426..71a91d3 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-72.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-72.png index 5d8d968..726648b 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-72.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-72.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png index bc13680..1859691 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-76.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-76.png index 37b71c7..7462efe 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-76.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-76.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png index 0a3de7b..7d39644 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png index fc4c12b..1075bc1 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png index e92a4c5..73bb5f3 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png index 728088d..a734583 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small.png index c3a8cd3..26612dc 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png index 35a2e21..8f9a81b 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png index c11f564..cb20b49 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon.png index 2f99263..625c275 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon@2x.png index 672a735..0faa546 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/NotificationIcon@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/NotificationIcon@2x.png index d3f8155..ee580cb 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/NotificationIcon@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/NotificationIcon@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/NotificationIcon@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/NotificationIcon@3x.png index 1089dc7..0fa7afd 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/NotificationIcon@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/NotificationIcon@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad.png index 6955880..e0f0869 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad@2x.png index d3f8155..ee580cb 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/ios-marketing.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/ios-marketing.png index b962b41..a97f3f5 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/ios-marketing.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/ios-marketing.png differ diff --git a/ios/Runner/Assets.xcassets/Contents.json b/ios/Runner/Assets.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/ios/Runner/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png deleted file mode 100644 index 9da19ea..0000000 Binary files a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png and /dev/null differ diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19ea..0000000 Binary files a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png and /dev/null differ diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19ea..0000000 Binary files a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png and /dev/null differ diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725..0000000 --- a/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Launch Screen Assets - -You can customize the launch screen with your own desired assets by replacing the image files in this directory. - -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. \ No newline at end of file diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/ios/Runner/Assets.xcassets/watchtipssplash.imageset/Contents.json similarity index 68% rename from ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json rename to ios/Runner/Assets.xcassets/watchtipssplash.imageset/Contents.json index 0bedcf2..bf8dc0c 100644 --- a/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +++ b/ios/Runner/Assets.xcassets/watchtipssplash.imageset/Contents.json @@ -2,17 +2,15 @@ "images" : [ { "idiom" : "universal", - "filename" : "LaunchImage.png", + "filename" : "watchtipssplash.png", "scale" : "1x" }, { "idiom" : "universal", - "filename" : "LaunchImage@2x.png", "scale" : "2x" }, { "idiom" : "universal", - "filename" : "LaunchImage@3x.png", "scale" : "3x" } ], @@ -20,4 +18,4 @@ "version" : 1, "author" : "xcode" } -} +} \ No newline at end of file diff --git a/ios/Runner/Assets.xcassets/watchtipssplash.imageset/watchtipssplash.png b/ios/Runner/Assets.xcassets/watchtipssplash.imageset/watchtipssplash.png new file mode 100644 index 0000000..465d752 Binary files /dev/null and b/ios/Runner/Assets.xcassets/watchtipssplash.imageset/watchtipssplash.png differ diff --git a/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard index f2e259c..a862f44 100644 --- a/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ b/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -1,8 +1,12 @@ - - + + + + + - + + @@ -14,24 +18,30 @@ + - + + + + + + - - + + - + - + diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 79faec8..0e76115 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -4,6 +4,8 @@ CFBundleDevelopmentRegion en + CFBundleDisplayName + Watch Tips CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -34,8 +36,6 @@ UISupportedInterfaceOrientations UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight UISupportedInterfaceOrientations~ipad diff --git a/ios/WatchTips Extension/Info.plist b/ios/WatchTips Extension/Info.plist index 612b414..6dc0405 100644 --- a/ios/WatchTips Extension/Info.plist +++ b/ios/WatchTips Extension/Info.plist @@ -17,15 +17,15 @@ CFBundlePackageType XPC! CFBundleShortVersionString - 1.0 + $(FLUTTER_BUILD_NAME) CFBundleVersion - 1 + $(FLUTTER_BUILD_NUMBER) NSExtension NSExtensionAttributes WKAppBundleIdentifier - uk.spiralarm.watchtips.watchkitapp + uk.spiralarm.tipcalculator.watchkitapp NSExtensionPointIdentifier com.apple.watchkit diff --git a/ios/WatchTips Extension/InterfaceController.swift b/ios/WatchTips Extension/InterfaceController.swift index 1c315c6..bf131a5 100644 --- a/ios/WatchTips Extension/InterfaceController.swift +++ b/ios/WatchTips Extension/InterfaceController.swift @@ -112,7 +112,7 @@ class InterfaceController: WKInterfaceController, WCSessionDelegate, WKCrownDele resetButtonFocus() currentSplit?.setBackgroundColor(UIColor(red: 0/255, green: 128/255, blue: 255/255, alpha: 1.0)) focusButton = 1 - presentController(withName: "SplitController", context: self) + //presentController(withName: "SplitController", context: self) } @@ -120,7 +120,7 @@ class InterfaceController: WKInterfaceController, WCSessionDelegate, WKCrownDele resetButtonFocus() currentTip?.setBackgroundColor(UIColor(red: 0/255, green: 128/255, blue: 255/255, alpha: 1.0)) focusButton = 2 - presentController(withName: "TipController", context: self) + //presentController(withName: "TipController", context: self) } diff --git a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Contents.json index cecabb2..c4ad1e2 100644 --- a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,92 +1,92 @@ { - "info" : { - "version" : 1, - "author" : "xcode" - }, "images" : [ { - "size" : "24x24", - "subtype" : "38mm", "filename" : "Icon38mm@2x.png", + "role" : "notificationCenter", + "subtype" : "38mm", "scale" : "2x", "idiom" : "watch", - "role" : "notificationCenter" + "size" : "24x24" }, { - "size" : "27.5x27.5", - "subtype" : "42mm", "filename" : "Icon42mm@2x.png", + "role" : "notificationCenter", + "subtype" : "42mm", "scale" : "2x", "idiom" : "watch", - "role" : "notificationCenter" + "size" : "27.5x27.5" }, { - "size" : "29x29", "filename" : "IconSettings@2x.png", "scale" : "2x", + "role" : "companionSettings", "idiom" : "watch", - "role" : "companionSettings" + "size" : "29x29" }, { - "size" : "29x29", "filename" : "IconSettings@3x.png", "scale" : "3x", + "role" : "companionSettings", "idiom" : "watch", - "role" : "companionSettings" + "size" : "29x29" }, { - "size" : "40x40", - "subtype" : "38mm", "filename" : "IconLauncher@2x.png", + "role" : "appLauncher", + "subtype" : "38mm", "scale" : "2x", "idiom" : "watch", - "role" : "appLauncher" + "size" : "40x40" }, { - "size" : "86x86", - "subtype" : "38mm", "filename" : "IconQuickLook38mm@2x.png", + "role" : "quickLook", + "subtype" : "38mm", "scale" : "2x", "idiom" : "watch", - "role" : "quickLook" + "size" : "86x86" }, { - "size" : "98x98", - "subtype" : "42mm", "filename" : "IconQuickLook42mm@2x.png", + "role" : "quickLook", + "subtype" : "42mm", "scale" : "2x", "idiom" : "watch", - "role" : "quickLook" + "size" : "98x98" }, { - "size" : "1024x1024", "filename" : "watch-marketing.png", "scale" : "1x", - "idiom" : "watch-marketing" + "idiom" : "watch-marketing", + "size" : "1024x1024" }, { - "size" : "44x44", - "subtype" : "40mm", "filename" : "Icon40mm@2x.png", + "role" : "appLauncher", + "subtype" : "40mm", "scale" : "2x", "idiom" : "watch", - "role" : "appLauncher" + "size" : "44x44" }, { - "size" : "50x50", - "subtype" : "44mm", "filename" : "Icon44mm@2x.png", + "role" : "appLauncher", + "subtype" : "44mm", "scale" : "2x", "idiom" : "watch", - "role" : "appLauncher" + "size" : "50x50" }, { - "size" : "108x108", - "subtype" : "44mm", "filename" : "IconQuickLook44mm@2x.png", + "role" : "quickLook", + "subtype" : "44mm", "scale" : "2x", "idiom" : "watch", - "role" : "quickLook" + "size" : "108x108" } - ] + ], + "info" : { + "author" : "xcode", + "version" : 1 + } } \ No newline at end of file diff --git a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Icon38mm@2x.png b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Icon38mm@2x.png index aac9ce0..2433dc9 100644 Binary files a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Icon38mm@2x.png and b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Icon38mm@2x.png differ diff --git a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Icon40mm@2x.png b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Icon40mm@2x.png index 20d00b6..6523114 100644 Binary files a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Icon40mm@2x.png and b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Icon40mm@2x.png differ diff --git a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Icon42mm@2x.png b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Icon42mm@2x.png index 7b4497f..e95efb5 100644 Binary files a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Icon42mm@2x.png and b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Icon42mm@2x.png differ diff --git a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Icon44mm@2x.png b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Icon44mm@2x.png index 728088d..a734583 100644 Binary files a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Icon44mm@2x.png and b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/Icon44mm@2x.png differ diff --git a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconLauncher@2x.png b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconLauncher@2x.png index b985816..b59eb0a 100644 Binary files a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconLauncher@2x.png and b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconLauncher@2x.png differ diff --git a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconQuickLook38mm@2x.png b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconQuickLook38mm@2x.png index 439c953..3be3d05 100644 Binary files a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconQuickLook38mm@2x.png and b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconQuickLook38mm@2x.png differ diff --git a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconQuickLook42mm@2x.png b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconQuickLook42mm@2x.png index e53a13a..3c2493b 100644 Binary files a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconQuickLook42mm@2x.png and b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconQuickLook42mm@2x.png differ diff --git a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconQuickLook44mm@2x.png b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconQuickLook44mm@2x.png index 548b6d7..d8c79f3 100644 Binary files a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconQuickLook44mm@2x.png and b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconQuickLook44mm@2x.png differ diff --git a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconSettings@2x.png b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconSettings@2x.png index 35a2e21..8f9a81b 100644 Binary files a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconSettings@2x.png and b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconSettings@2x.png differ diff --git a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconSettings@3x.png b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconSettings@3x.png index c11f564..cb20b49 100644 Binary files a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconSettings@3x.png and b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/IconSettings@3x.png differ diff --git a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/watch-marketing.png b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/watch-marketing.png index b962b41..a97f3f5 100644 Binary files a/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/watch-marketing.png and b/ios/WatchTips/Assets.xcassets/AppIcon.appiconset/watch-marketing.png differ diff --git a/ios/WatchTips/Assets.xcassets/Contents.json b/ios/WatchTips/Assets.xcassets/Contents.json index da4a164..4aa7c53 100644 --- a/ios/WatchTips/Assets.xcassets/Contents.json +++ b/ios/WatchTips/Assets.xcassets/Contents.json @@ -1,6 +1,6 @@ { "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } } \ No newline at end of file diff --git a/ios/WatchTips/Info.plist b/ios/WatchTips/Info.plist index 683c650..c10fa5b 100644 --- a/ios/WatchTips/Info.plist +++ b/ios/WatchTips/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName - watchtips + watch tips CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -17,16 +17,16 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.0.0 + $(FLUTTER_BUILD_NAME) CFBundleVersion - 1 + $(FLUTTER_BUILD_NUMBER) UISupportedInterfaceOrientations UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown WKCompanionAppBundleIdentifier - uk.spiralarm.watchtips + uk.spiralarm.tipcalculator WKWatchKitApp diff --git a/lib/homescreen.dart b/lib/homescreen.dart index 725f362..3a52d9c 100644 --- a/lib/homescreen.dart +++ b/lib/homescreen.dart @@ -9,19 +9,18 @@ class HomeScreen extends StatefulWidget { } class _HomeScreenState extends State { - static const platform = const MethodChannel('uk.spiralarm.watchtips/tipinfo'); - static const stream = const EventChannel('uk.spiralarm.watchtips/tipinfo/watchdata'); + static const stream = + const EventChannel('uk.spiralarm.watchtips/tipinfo/watchdata'); StreamSubscription tipSubscription; final formatter = new NumberFormat("##0.00"); - TextEditingController billTotalController = TextEditingController(text: "0.00"); + TextEditingController billTotalController = + TextEditingController(text: "0.00"); int tipPercent = 10, tipSplit = 1; double billTotal = 0.0; double totalWithTip = 0.0; double totalEach = 0.0; - String buttonName = "Activate"; - @override void initState() { @@ -29,26 +28,21 @@ class _HomeScreenState extends State { activateWatchConnection(); } - @override void dispose() { - if(tipSubscription!=null){ + if (tipSubscription != null) { tipSubscription.cancel(); tipSubscription = null; } super.dispose(); } - @override Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( title: Text("Tip Calculator"), ), - body: Container( margin: EdgeInsets.all(30.0), padding: EdgeInsets.all(20.0), @@ -56,123 +50,108 @@ class _HomeScreenState extends State { crossAxisAlignment: CrossAxisAlignment.stretch, mainAxisAlignment: MainAxisAlignment.start, children: [ - TextField( controller: billTotalController, keyboardType: TextInputType.numberWithOptions(decimal: true), decoration: InputDecoration( - labelText: "Bill Total", - suffixIcon: IconButton( - onPressed: (){ - calculateBill(double.tryParse(billTotalController.text)); - }, - icon: Icon( - Icons.thumb_up, - color: Theme.of(context).textTheme.body1.color, - ), - ) - ), + labelText: "Bill Total", + suffixIcon: IconButton( + onPressed: () { + FocusScope.of(context).requestFocus(new FocusNode()); + calculateBill(double.tryParse(billTotalController.text)); + }, + icon: Icon( + Icons.thumb_up, + color: Theme.of(context).textTheme.body1.color, + ), + )), ), - - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - "Tip Percentage", - style: Theme.of(context).primaryTextTheme.title, - ), - IconButton( - onPressed: (){ - if(tipPercent>0){ - tipPercent--; - calculateBill(null); - } - }, - icon: Icon(Icons.remove_circle_outline), - ), - Text( - "$tipPercent%", - style: Theme.of(context).textTheme.title, - textAlign: TextAlign.center, - ), - IconButton( - onPressed: (){ - if(tipPercent<50){ - tipPercent++; - calculateBill(null); - } - }, - icon: Icon(Icons.add_circle_outline), - ), - ] - ), - + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + "Tip Percentage", + style: Theme.of(context).primaryTextTheme.title, + ), + IconButton( + onPressed: () { + if (tipPercent > 0) { + tipPercent--; + calculateBill(null); + } + }, + icon: Icon(Icons.remove_circle_outline), + ), + Text( + "$tipPercent%", + style: Theme.of(context).textTheme.title, + textAlign: TextAlign.center, + ), + IconButton( + onPressed: () { + if (tipPercent < 50) { + tipPercent++; + calculateBill(null); + } + }, + icon: Icon(Icons.add_circle_outline), + ), + ]), Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - "Split Between", - style: Theme.of(context).primaryTextTheme.title, - ), - IconButton( - onPressed: (){ - if(tipSplit>1){ - tipSplit--; - calculateBill(null); - } - }, - icon: Icon(Icons.remove_circle_outline), - ), - Text( - "$tipSplit", - style: Theme.of(context).textTheme.title, - textAlign: TextAlign.center, - ), - IconButton( - onPressed: (){ - if(tipSplit<50){ - tipSplit++; - calculateBill(null); - } - }, - icon: Icon(Icons.add_circle_outline), - ), - ] - ), - + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + "Split Between", + style: Theme.of(context).primaryTextTheme.title, + ), + IconButton( + onPressed: () { + if (tipSplit > 1) { + tipSplit--; + calculateBill(null); + } + }, + icon: Icon(Icons.remove_circle_outline), + ), + Text( + "$tipSplit", + style: Theme.of(context).textTheme.title, + textAlign: TextAlign.center, + ), + IconButton( + onPressed: () { + if (tipSplit < 50) { + tipSplit++; + calculateBill(null); + } + }, + icon: Icon(Icons.add_circle_outline), + ), + ]), Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - "Total with tip", - style: Theme.of(context).primaryTextTheme.title, - - ), - Text( - "${formatter.format(totalWithTip)}", - style: Theme.of(context).textTheme.title, - - ), - ] - ), - + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + "Total with tip", + style: Theme.of(context).primaryTextTheme.title, + ), + Text( + "${formatter.format(totalWithTip)}", + style: Theme.of(context).textTheme.title, + ), + ]), Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - "Total cost each", - style: Theme.of(context).primaryTextTheme.title, - - ), - Text( - "${formatter.format(totalEach)}", - style: Theme.of(context).textTheme.title, - - ), - ] - ), - + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + "Total cost each", + style: Theme.of(context).primaryTextTheme.title, + ), + Text( + "${formatter.format(totalEach)}", + style: Theme.of(context).textTheme.title, + ), + ]), ], ), ), @@ -180,35 +159,31 @@ class _HomeScreenState extends State { } /// Simple calculation of bill amounts - calculateBill(double total){ + calculateBill(double total) { total = (total ?? billTotal); setState(() { billTotal = total; billTotalController.text = "${formatter.format(billTotal)}"; - double tip = (total/100) * tipPercent; - totalWithTip = total +tip; - totalEach = (totalWithTip/tipSplit); + double tip = (total / 100) * tipPercent; + totalWithTip = total + tip; + totalEach = (totalWithTip / tipSplit); }); } /// Active and start the connection to the Watch App activateWatchConnection() async { - - // Start initial Session to allow watch an iOS to swap user data + // Start initial Session to allow watch and iOS to swap user data await platform.invokeMethod("activateSession"); // Connect up our stream so we can monitor for watch updates - stream.receiveBroadcastStream().listen((value){ + stream.receiveBroadcastStream().listen((value) { List result = value; - debugPrint("${result[0]}"); - if(result[0]!=null){ - tipPercent = int.tryParse(result[0]['tip']); - tipSplit = int.tryParse(result[0]['split']); - billTotal = double.tryParse(result[0]['bill']); - calculateBill(null); - } + if (result[0] != null) { + tipPercent = int.tryParse(result[0]['tip']); + tipSplit = int.tryParse(result[0]['split']); + billTotal = double.tryParse(result[0]['bill']); + calculateBill(null); + } }); - } - -} \ No newline at end of file +} diff --git a/lib/main.dart b/lib/main.dart index d76e143..1457d7a 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -2,20 +2,18 @@ import 'package:flutter/material.dart'; import 'homescreen.dart'; import 'colors.dart'; - void main() => runApp(TipCalculator()); - -class TipCalculator extends StatelessWidget { - - @override - Widget build(BuildContext context) { - return MaterialApp( - title: 'TipCalculator', - home: HomeScreen(), - theme: _buildAppTheme(), - ); - } +class TipCalculator extends StatelessWidget { + @override + Widget build(BuildContext context) { + return MaterialApp( + debugShowCheckedModeBanner: false, + title: 'TipCalculator', + home: HomeScreen(), + theme: _buildAppTheme(), + ); + } /// Define a modified theme for the app ThemeData _buildAppTheme() { @@ -33,22 +31,16 @@ class TipCalculator extends StatelessWidget { bodyColor: appPrimaryTextColor, displayColor: appPrimaryTextColor, ), - iconTheme: base.iconTheme.copyWith( - color: appPrimaryTextColor - ), + iconTheme: base.iconTheme.copyWith(color: appPrimaryTextColor), inputDecorationTheme: InputDecorationTheme( - labelStyle: TextStyle( - color: appTextColor, - fontSize: 25.0 - ), + labelStyle: TextStyle(color: appTextColor, fontSize: 25.0), enabledBorder: const OutlineInputBorder( borderSide: const BorderSide(color: appPrimaryTextColor, width: 2.0), ), focusedBorder: const OutlineInputBorder( borderSide: const BorderSide(color: appPrimaryTextColor, width: 2.0), - ), + ), ), ); } - -} \ No newline at end of file +} diff --git a/pubspec.yaml b/pubspec.yaml index 1f45dea..6064e7c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -7,7 +7,7 @@ description: A Combined Flutter iOS and watchOS app. # Both the version and the builder number may be overridden in flutter # build by specifying --build-name and --build-number, respectively. # Read more about versioning at semver.org. -version: 1.0.0+1 +version: 2.0.1+1 environment: sdk: ">=2.0.0-dev.68.0 <3.0.0"