瀏覽代碼

fix for ios build issue, fix location permission request

Groot 8 月之前
父節點
當前提交
f1050f4a34

+ 8 - 0
ios/Podfile

@@ -39,5 +39,13 @@ end
 post_install do |installer|
   installer.pods_project.targets.each do |target|
     flutter_additional_ios_build_settings(target)
+    
+    # 添加定位权限
+    target.build_configurations.each do |config|
+      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
+        '$(inherited)',
+        'PERMISSION_LOCATION=1',
+      ]
+    end
   end
 end

+ 2 - 2
ios/Podfile.lock

@@ -121,7 +121,7 @@ SPEC CHECKSUMS:
   flutter_umeng: c1bb7f26be0aea78e454fed645eb146a5d26d182
   gravity_engine: 9075091c4adcd0169506f97688ebac7f5454c4ac
   in_app_purchase_storekit: d1a48cb0f8b29dbf5f85f782f5dd79b21b90a5e6
-  map_mapkit_ios: fe3a12a53d3f398815c9973cd82bb0a9679bde43
+  map_mapkit_ios: ca064ca09018af4608239db3d98b46cb2233e8b9
   MMKV: 3eacda84cd1c4fc95cf848d3ecb69d85ed56006c
   mmkv_ios: ea225e1659b4769b29f7ee110380de01b40a4baf
   MMKVCore: 508b4d3a8ce031f1b5c8bd235f0517fb3f4c73a9
@@ -132,6 +132,6 @@ SPEC CHECKSUMS:
   url_launcher_ios: 694010445543906933d732453a59da0a173ae33d
   wechat_kit: b50b40a52ad88cb9e378a32e300a2d8bdc0e4726
 
-PODFILE CHECKSUM: 251cb053df7158f337c0712f2ab29f4e0fa474ce
+PODFILE CHECKSUM: 4f236b2587b1e693e3e6e23b7cc8c9cbccf09efd
 
 COCOAPODS: 1.16.2

+ 8 - 0
ios/Runner.xcodeproj/project.pbxproj

@@ -316,10 +316,14 @@
 			inputFileListPaths = (
 				"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist",
 			);
+			inputPaths = (
+			);
 			name = "[CP] Copy Pods Resources";
 			outputFileListPaths = (
 				"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist",
 			);
+			outputPaths = (
+			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
@@ -333,10 +337,14 @@
 			inputFileListPaths = (
 				"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
 			);
+			inputPaths = (
+			);
 			name = "[CP] Embed Pods Frameworks";
 			outputFileListPaths = (
 				"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
 			);
+			outputPaths = (
+			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";

+ 4 - 0
ios/Runner/Info.plist

@@ -26,6 +26,10 @@
 	<string>$(FLUTTER_BUILD_NUMBER)</string>
 	<key>LSRequiresIPhoneOS</key>
 	<true/>
+	<key>NSLocationAlwaysUsageDescription</key>
+	<string>为给您更好的定位体验,请您允许我们使用精确位置</string>
+	<key>NSLocationWhenInUseUsageDescription</key>
+	<string>为给您更好的定位体验,请您允许我们使用精确位置</string>
 	<key>NSUserTrackingUsageDescription</key>
 	<string>为给您更精准的提供个性化内容,请您允许我们获取广告信息</string>
 	<key>UIApplicationSupportsIndirectInputEvents</key>

+ 4 - 0
plugins/map_mapkit_ios/ios/Classes/MapView/Model/MapProtocol.swift

@@ -23,6 +23,8 @@ protocol MapCapability {
 
     var polylines: [ATMapPolyline] { get set }
 
+    func initialize(args: [String: Any]?, result: @escaping FlutterResult)
+
     // 处理地图添加Marker
     func handleMapAddMarker(args: [String: Any]?, result: @escaping FlutterResult)
     
@@ -52,6 +54,8 @@ extension MapCapability {
         }
         
         switch callMethod {
+        case .`init`:
+            initialize(args: call.arguments as? [String: Any], result: result)
         case .methodMapMoveCamera, .methodMapAnimateCamera:
             handleMapMoveCamera(args: call.arguments as? [String: Any], result: result)
         case .methodUpdateOrAddMarkers:

+ 5 - 0
plugins/map_mapkit_ios/ios/Classes/MapView/ViewModel/MapViewModel.swift

@@ -37,6 +37,11 @@ class MapViewModel: NSObject, ObservableObject, MapCapability {
     // 地图Polyline
     @Published var polylines: [ATMapPolyline] = []
 
+    func initialize(args: [String: Any]?, result: @escaping FlutterResult) {
+        result(true)
+        return
+    }
+
     // 处理地图移动
     func handleMapMoveCamera(args: [String: Any]?, result: @escaping FlutterResult) {
         guard let args = args, let cameraPosition = ATMapCameraPosition.fromJson(json: args) else {

+ 1 - 1
pubspec.yaml

@@ -154,7 +154,7 @@ dependencies:
       ref: v0.0.2
 
   flutter_umeng:
-    path: /Users/groot/flutter_umeng
+    path: ../flutter_umeng
 
   #oaid
   oaid: