Browse Source

Merge branch 'master' of ssh://66.98.118.254:10022/Logistics/logistics-client-flutter

daxu0403 7 years ago
parent
commit
6abc076abc
51 changed files with 371 additions and 132 deletions
  1. 5 5
      .flutter-plugins
  2. 72 0
      .gitignore
  3. 2 2
      android/local.properties
  4. 4 4
      ios/Flutter/Generated.xcconfig
  5. 53 0
      ios/Podfile.lock
  6. 66 1
      ios/Runner.xcodeproj/project.pbxproj
  7. 3 0
      ios/Runner.xcworkspace/contents.xcworkspacedata
  8. 8 0
      ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
  9. BIN
      ios/Runner/.DS_Store
  10. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/.DS_Store
  11. 156 120
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
  12. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
  13. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
  14. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
  15. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
  16. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
  17. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
  18. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
  19. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
  20. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
  21. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
  22. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
  23. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
  24. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
  25. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
  26. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
  27. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-1024.png
  28. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20-ipad.png
  29. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@2x-ipad.png
  30. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png
  31. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png
  32. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29-ipad.png
  33. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29.png
  34. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@2x-ipad.png
  35. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
  36. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
  37. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40.png
  38. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
  39. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
  40. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-50.png
  41. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-50@2x.png
  42. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-57.png
  43. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png
  44. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
  45. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
  46. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-72.png
  47. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-72@2x.png
  48. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-76.png
  49. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
  50. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
  51. 2 0
      ios/Runner/Info.plist

+ 5 - 5
.flutter-plugins

@@ -1,5 +1,5 @@
-barcode_scan=/Users/daxu/app/flutter/.pub-cache/hosted/pub.dartlang.org/barcode_scan-0.0.8/
-city_pickers=/Users/daxu/app/flutter/.pub-cache/hosted/pub.dartlang.org/city_pickers-0.0.4/
-flutter_picker=/Users/daxu/app/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_picker-1.0.8/
-shared_preferences=/Users/daxu/app/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.1+1/
-url_launcher=/Users/daxu/app/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-5.0.1/
+barcode_scan=/Users/xiaoguang/flutter/.pub-cache/hosted/pub.flutter-io.cn/barcode_scan-0.0.8/
+city_pickers=/Users/xiaoguang/flutter/.pub-cache/hosted/pub.flutter-io.cn/city_pickers-0.0.4/
+flutter_picker=/Users/xiaoguang/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_picker-1.0.10/
+shared_preferences=/Users/xiaoguang/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-0.5.2/
+url_launcher=/Users/xiaoguang/flutter/.pub-cache/hosted/pub.flutter-io.cn/url_launcher-5.0.2/

+ 72 - 0
.gitignore

@@ -15,3 +15,75 @@ android/.gradle/4.10.2/javaCompile/taskHistory.bin
 android/.gradle/4.10.2/taskHistory/taskHistory.bin
 android/.gradle/4.10.2/taskHistory/taskHistory.lock
 android/.gradle/buildOutputCleanup/buildOutputCleanup.lock
+
+#  Xcode
+# 
+build/
+*.pbxuser
+!default.pbxuser
+*.mode1v3
+!default.mode1v3
+*.mode2v3
+!default.mode2v3
+*.perspectivev3
+!default.perspectivev3
+xcuserdata
+*.xccheckout
+*.moved-aside
+DerivedData
+*.hmap
+*.ipa
+*.xcuserstate
+#  CocoaPods
+# 
+#  We recommend against adding the Pods directory to your .gitignore. However
+#  you should judge for yourself, the pros and cons are mentioned at:
+#  http://guides.cocoapods.org/using/using-cocoapods.html# should-i-ignore-the-pods-directory-in-source-control
+# 
+ Pods/
+
+
+ .DS_Store
+*.swp
+profile
+
+DerivedData/
+build/
+GeneratedPluginRegistrant.h
+GeneratedPluginRegistrant.m
+
+.generated/
+
+*.pbxuser
+*.mode1v3
+*.mode2v3
+*.perspectivev3
+
+!default.pbxuser
+!default.mode1v3
+!default.mode2v3
+!default.perspectivev3
+
+xcuserdata
+
+*.moved-aside
+
+*.pyc
+*sync/
+Icon?
+.tags*
+
+ios/Flutter/app.flx
+ios/Flutter/app.zip
+ios/Flutter/flutter_assets/
+ios/Flutter/App.framework
+ios/Flutter/Flutter.framework
+ios/Flutter/Generated.xcconfig
+ios/ServiceDefinitions.json
+ios/.symlinks/*
+Pods/
+android/local.properties
+.flutter-plugins
+
+.flutter-plugins
+ios/Flutter/Generated.xcconfig

+ 2 - 2
android/local.properties

@@ -1,5 +1,5 @@
-sdk.dir=/Users/daxu/Library/Android/sdk
-flutter.sdk=/Users/daxu/app/flutter
+sdk.dir=/Users/xiaoguang/Library/Android/sdk
+flutter.sdk=/Users/xiaoguang/flutter
 flutter.versionName=1.0.0
 flutter.versionCode=1
 flutter.buildMode=debug

+ 4 - 4
ios/Flutter/Generated.xcconfig

@@ -1,9 +1,9 @@
 // This is a generated file; do not edit or check into version control.
-FLUTTER_ROOT=/Users/daxu/app/flutter
-FLUTTER_APPLICATION_PATH=/Users/daxu/logistics_client
-FLUTTER_TARGET=lib/main.dart
+FLUTTER_ROOT=/Users/xiaoguang/flutter
+FLUTTER_APPLICATION_PATH=/Users/xiaoguang/Documents/workspace/my/logistics-client-flutter
+FLUTTER_TARGET=/Users/xiaoguang/Documents/workspace/my/logistics-client-flutter/lib/main.dart
 FLUTTER_BUILD_DIR=build
 SYMROOT=${SOURCE_ROOT}/../build/ios
-FLUTTER_FRAMEWORK_DIR=/Users/daxu/app/flutter/bin/cache/artifacts/engine/ios
+FLUTTER_FRAMEWORK_DIR=/Users/xiaoguang/flutter/bin/cache/artifacts/engine/ios
 FLUTTER_BUILD_NAME=1.0.0
 FLUTTER_BUILD_NUMBER=1

+ 53 - 0
ios/Podfile.lock

@@ -0,0 +1,53 @@
+PODS:
+  - barcode_scan (0.0.1):
+    - Flutter
+    - MTBBarcodeScanner
+  - city_pickers (0.0.1):
+    - Flutter
+  - Flutter (1.0.0)
+  - flutter_picker (0.0.1):
+    - Flutter
+  - MTBBarcodeScanner (5.0.8)
+  - shared_preferences (0.0.1):
+    - Flutter
+  - url_launcher (0.0.1):
+    - Flutter
+
+DEPENDENCIES:
+  - barcode_scan (from `.symlinks/plugins/barcode_scan/ios`)
+  - city_pickers (from `.symlinks/plugins/city_pickers/ios`)
+  - Flutter (from `.symlinks/flutter/ios`)
+  - flutter_picker (from `.symlinks/plugins/flutter_picker/ios`)
+  - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`)
+  - url_launcher (from `.symlinks/plugins/url_launcher/ios`)
+
+SPEC REPOS:
+  https://github.com/cocoapods/specs.git:
+    - MTBBarcodeScanner
+
+EXTERNAL SOURCES:
+  barcode_scan:
+    :path: ".symlinks/plugins/barcode_scan/ios"
+  city_pickers:
+    :path: ".symlinks/plugins/city_pickers/ios"
+  Flutter:
+    :path: ".symlinks/flutter/ios"
+  flutter_picker:
+    :path: ".symlinks/plugins/flutter_picker/ios"
+  shared_preferences:
+    :path: ".symlinks/plugins/shared_preferences/ios"
+  url_launcher:
+    :path: ".symlinks/plugins/url_launcher/ios"
+
+SPEC CHECKSUMS:
+  barcode_scan: 8288e70cb430072003bce2c794a1431e7adbcb4d
+  city_pickers: d6a9e81ec99140576f5adf29c75b7080ca9a9f99
+  Flutter: 9d0fac939486c9aba2809b7982dfdbb47a7b0296
+  flutter_picker: 8cd16302a9806a9789ba6e3ce85558c70c43b7f4
+  MTBBarcodeScanner: 5b97f10a037e2560ff104da413343c5ce9413911
+  shared_preferences: 5a1d487c427ee18fcd3ea1f2a131569481834b53
+  url_launcher: 92b89c1029a0373879933c21642958c874539095
+
+PODFILE CHECKSUM: aff02bfeed411c636180d6812254b2daeea14d09
+
+COCOAPODS: 1.5.3

+ 66 - 1
ios/Runner.xcodeproj/project.pbxproj

@@ -12,6 +12,7 @@
 		3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
 		3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
 		3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+		7FE5872D26F01031B040E7AB /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F79F1E503C01D898CDB64F5D /* libPods-Runner.a */; };
 		9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
 		9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
 		9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB21CF90195004384FC /* Debug.xcconfig */; };
@@ -55,6 +56,7 @@
 		97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
 		97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
 		97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+		F79F1E503C01D898CDB64F5D /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -64,12 +66,20 @@
 			files = (
 				9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */,
 				3B80C3941E831B6300D905FE /* App.framework in Frameworks */,
+				7FE5872D26F01031B040E7AB /* libPods-Runner.a in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
+		8499C8C8B9D43ABCA668E7C2 /* Pods */ = {
+			isa = PBXGroup;
+			children = (
+			);
+			name = Pods;
+			sourceTree = "<group>";
+		};
 		9740EEB11CF90186004384FC /* Flutter */ = {
 			isa = PBXGroup;
 			children = (
@@ -90,7 +100,8 @@
 				9740EEB11CF90186004384FC /* Flutter */,
 				97C146F01CF9000F007C117D /* Runner */,
 				97C146EF1CF9000F007C117D /* Products */,
-				CF3B75C9A7D2FA2A4C99F110 /* Frameworks */,
+				8499C8C8B9D43ABCA668E7C2 /* Pods */,
+				9C512DA74243E90AAF50616B /* Frameworks */,
 			);
 			sourceTree = "<group>";
 		};
@@ -126,6 +137,14 @@
 			name = "Supporting Files";
 			sourceTree = "<group>";
 		};
+		9C512DA74243E90AAF50616B /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				F79F1E503C01D898CDB64F5D /* libPods-Runner.a */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
@@ -133,12 +152,14 @@
 			isa = PBXNativeTarget;
 			buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
 			buildPhases = (
+				A7E7DBAED3754712D8B82D6B /* [CP] Check Pods Manifest.lock */,
 				9740EEB61CF901F6004384FC /* Run Script */,
 				97C146EA1CF9000F007C117D /* Sources */,
 				97C146EB1CF9000F007C117D /* Frameworks */,
 				97C146EC1CF9000F007C117D /* Resources */,
 				9705A1C41CF9048500538489 /* Embed Frameworks */,
 				3B06AD1E1E4923F5004D2608 /* Thin Binary */,
+				AC924AB532A9ABDA6FB76A41 /* [CP] Embed Pods Frameworks */,
 			);
 			buildRules = (
 			);
@@ -226,6 +247,50 @@
 			shellPath = /bin/sh;
 			shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
 		};
+		A7E7DBAED3754712D8B82D6B /* [CP] Check Pods Manifest.lock */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+				"${PODS_ROOT}/Manifest.lock",
+			);
+			name = "[CP] Check Pods Manifest.lock";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+				"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+			showEnvVarsInLog = 0;
+		};
+		AC924AB532A9ABDA6FB76A41 /* [CP] Embed Pods Frameworks */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+				"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
+				"${PODS_ROOT}/../.symlinks/flutter/ios/Flutter.framework",
+			);
+			name = "[CP] Embed Pods Frameworks";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework",
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
+			showEnvVarsInLog = 0;
+		};
 /* End PBXShellScriptBuildPhase section */
 
 /* Begin PBXSourcesBuildPhase section */

+ 3 - 0
ios/Runner.xcworkspace/contents.xcworkspacedata

@@ -4,4 +4,7 @@
    <FileRef
       location = "group:Runner.xcodeproj">
    </FileRef>
+   <FileRef
+      location = "group:Pods/Pods.xcodeproj">
+   </FileRef>
 </Workspace>

+ 8 - 0
ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>BuildSystemType</key>
+	<string>Original</string>
+</dict>
+</plist>

BIN
ios/Runner/.DS_Store


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/.DS_Store


+ 156 - 120
ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json

@@ -1,122 +1,158 @@
 {
-  "images" : [
-    {
-      "size" : "20x20",
-      "idiom" : "iphone",
-      "filename" : "Icon-App-20x20@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "20x20",
-      "idiom" : "iphone",
-      "filename" : "Icon-App-20x20@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-App-29x29@1x.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-App-29x29@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "iphone",
-      "filename" : "Icon-App-29x29@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "iphone",
-      "filename" : "Icon-App-40x40@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "iphone",
-      "filename" : "Icon-App-40x40@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "60x60",
-      "idiom" : "iphone",
-      "filename" : "Icon-App-60x60@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "60x60",
-      "idiom" : "iphone",
-      "filename" : "Icon-App-60x60@3x.png",
-      "scale" : "3x"
-    },
-    {
-      "size" : "20x20",
-      "idiom" : "ipad",
-      "filename" : "Icon-App-20x20@1x.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "20x20",
-      "idiom" : "ipad",
-      "filename" : "Icon-App-20x20@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "ipad",
-      "filename" : "Icon-App-29x29@1x.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "29x29",
-      "idiom" : "ipad",
-      "filename" : "Icon-App-29x29@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "ipad",
-      "filename" : "Icon-App-40x40@1x.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "40x40",
-      "idiom" : "ipad",
-      "filename" : "Icon-App-40x40@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "76x76",
-      "idiom" : "ipad",
-      "filename" : "Icon-App-76x76@1x.png",
-      "scale" : "1x"
-    },
-    {
-      "size" : "76x76",
-      "idiom" : "ipad",
-      "filename" : "Icon-App-76x76@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "83.5x83.5",
-      "idiom" : "ipad",
-      "filename" : "Icon-App-83.5x83.5@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "size" : "1024x1024",
-      "idiom" : "ios-marketing",
-      "filename" : "Icon-App-1024x1024@1x.png",
-      "scale" : "1x"
+    "images": [
+        {
+            "size": "20x20",
+            "idiom": "iphone",
+            "filename": "icon-20@2x.png",
+            "scale": "2x"
+        },
+        {
+            "size": "20x20",
+            "idiom": "iphone",
+            "filename": "icon-20@3x.png",
+            "scale": "3x"
+        },
+        {
+            "size": "29x29",
+            "idiom": "iphone",
+            "filename": "icon-29.png",
+            "scale": "1x"
+        },
+        {
+            "size": "29x29",
+            "idiom": "iphone",
+            "filename": "icon-29@2x.png",
+            "scale": "2x"
+        },
+        {
+            "size": "29x29",
+            "idiom": "iphone",
+            "filename": "icon-29@3x.png",
+            "scale": "3x"
+        },
+        {
+            "size": "40x40",
+            "idiom": "iphone",
+            "filename": "icon-40@2x.png",
+            "scale": "2x"
+        },
+        {
+            "size": "40x40",
+            "idiom": "iphone",
+            "filename": "icon-40@3x.png",
+            "scale": "3x"
+        },
+        {
+            "size": "57x57",
+            "idiom": "iphone",
+            "filename": "icon-57.png",
+            "scale": "1x"
+        },
+        {
+            "size": "57x57",
+            "idiom": "iphone",
+            "filename": "icon-57@2x.png",
+            "scale": "2x"
+        },
+        {
+            "size": "60x60",
+            "idiom": "iphone",
+            "filename": "icon-60@2x.png",
+            "scale": "2x"
+        },
+        {
+            "size": "60x60",
+            "idiom": "iphone",
+            "filename": "icon-60@3x.png",
+            "scale": "3x"
+        },
+        {
+            "size": "20x20",
+            "idiom": "ipad",
+            "filename": "icon-20-ipad.png",
+            "scale": "1x"
+        },
+        {
+            "size": "20x20",
+            "idiom": "ipad",
+            "filename": "icon-20@2x-ipad.png",
+            "scale": "2x"
+        },
+        {
+            "size": "29x29",
+            "idiom": "ipad",
+            "filename": "icon-29-ipad.png",
+            "scale": "1x"
+        },
+        {
+            "size": "29x29",
+            "idiom": "ipad",
+            "filename": "icon-29@2x-ipad.png",
+            "scale": "2x"
+        },
+        {
+            "size": "40x40",
+            "idiom": "ipad",
+            "filename": "icon-40.png",
+            "scale": "1x"
+        },
+        {
+            "size": "40x40",
+            "idiom": "ipad",
+            "filename": "icon-40@2x.png",
+            "scale": "2x"
+        },
+        {
+            "size": "50x50",
+            "idiom": "ipad",
+            "filename": "icon-50.png",
+            "scale": "1x"
+        },
+        {
+            "size": "50x50",
+            "idiom": "ipad",
+            "filename": "icon-50@2x.png",
+            "scale": "2x"
+        },
+        {
+            "size": "72x72",
+            "idiom": "ipad",
+            "filename": "icon-72.png",
+            "scale": "1x"
+        },
+        {
+            "size": "72x72",
+            "idiom": "ipad",
+            "filename": "icon-72@2x.png",
+            "scale": "2x"
+        },
+        {
+            "size": "76x76",
+            "idiom": "ipad",
+            "filename": "icon-76.png",
+            "scale": "1x"
+        },
+        {
+            "size": "76x76",
+            "idiom": "ipad",
+            "filename": "icon-76@2x.png",
+            "scale": "2x"
+        },
+        {
+            "size": "83.5x83.5",
+            "idiom": "ipad",
+            "filename": "icon-83.5@2x.png",
+            "scale": "2x"
+        },
+        {
+            "size": "1024x1024",
+            "idiom": "ios-marketing",
+            "filename": "icon-1024.png",
+            "scale": "1x"
+        }
+    ],
+    "info": {
+        "version": 1,
+        "author": "icon.wuruihong.com"
     }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}
+}

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-1024.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20-ipad.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@2x-ipad.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29-ipad.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@2x-ipad.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-50.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-50@2x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-57.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-72.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-72@2x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-76.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png


+ 2 - 0
ios/Runner/Info.plist

@@ -2,6 +2,8 @@
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
+	<key>NSCameraUsageDescription</key>
+	<string>Camera permission is required for barcode scanning.</string>
 	<key>CFBundleDevelopmentRegion</key>
 	<string>en</string>
 	<key>CFBundleExecutable</key>