Skip to content

Commit 57599d7

Browse files
committed
Migrate iOS plugin and example to swift package manager
1 parent 236e511 commit 57599d7

30 files changed

+122
-85
lines changed

arcgis_map_sdk_ios/ios/.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,7 @@ Icon?
3535

3636
/Flutter/Generated.xcconfig
3737
/Flutter/ephemeral/
38-
/Flutter/flutter_export_environment.sh
38+
/Flutter/flutter_export_environment.sh
39+
40+
.swiftpm/
41+
Package.resolved

arcgis_map_sdk_ios/ios/Assets/.gitkeep

Whitespace-only changes.

arcgis_map_sdk_ios/ios/Classes/ArcgisMapPlugin.h

Lines changed: 0 additions & 4 deletions
This file was deleted.

arcgis_map_sdk_ios/ios/Classes/ArcgisMapPlugin.m

Lines changed: 0 additions & 18 deletions
This file was deleted.

arcgis_map_sdk_ios/ios/arcgis_map_sdk_ios.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ A new Flutter project.
1212
s.homepage = 'http://example.com'
1313
s.author = { 'Your Company' => '[email protected]' }
1414
s.source = { :path => '.' }
15-
s.source_files = 'Classes/**/*'
15+
s.source_files = 'arcgis_map_sdk_ios/Sources/**/*'
1616
s.dependency 'Flutter'
1717
s.dependency 'ArcGIS-Runtime-Toolkit-iOS'
1818
s.platform = :ios, '13.0'
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// swift-tools-version: 5.9
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "arcgis_map_sdk_ios",
8+
platforms: [
9+
.iOS("14.0")
10+
],
11+
products: [
12+
.library(name: "arcgis-map-sdk-ios", targets: ["arcgis_map_sdk_ios"])
13+
],
14+
dependencies: [
15+
.package(url: "https://github.com/Esri/arcgis-runtime-ios", .upToNextMinor(from: "100.15.0")),
16+
],
17+
targets: [
18+
.target(
19+
name: "arcgis_map_sdk_ios",
20+
dependencies: [
21+
.product(name: "ArcGIS", package: "arcgis-runtime-ios")
22+
]
23+
),
24+
]
25+
)

arcgis_map_sdk_ios/ios/Classes/SwiftArcgisMapPlugin.swift renamed to arcgis_map_sdk_ios/ios/arcgis_map_sdk_ios/Sources/arcgis_map_sdk_ios/ArcgisMapPlugin.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@ import Flutter
22
import UIKit
33
import ArcGIS
44

5-
public class SwiftArcgisMapPlugin: NSObject, FlutterPlugin {
6-
5+
public class ArcgisMapPlugin: NSObject, FlutterPlugin {
76
public static func register(with registrar: FlutterPluginRegistrar) {
87
registrar.register(ArcgisMapViewFactory(registrar: registrar), withId: "<native_map_view>")
98

10-
let instance = SwiftArcgisMapPlugin()
9+
let instance = ArcgisMapPlugin()
1110
let channel = FlutterMethodChannel(
1211
name: "dev.fluttercommunity.arcgis_map_sdk",
1312
binaryMessenger: registrar.messenger()

arcgis_map_sdk_ios/ios/Classes/ArcgisMapView.swift renamed to arcgis_map_sdk_ios/ios/arcgis_map_sdk_ios/Sources/arcgis_map_sdk_ios/ArcgisMapView.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import ArcGIS
22
import Foundation
3+
import Flutter
34

45
class ArcgisMapView: NSObject, FlutterPlatformView {
56

arcgis_map_sdk_ios/ios/Classes/CenterPositionStreamHandler.swift renamed to arcgis_map_sdk_ios/ios/arcgis_map_sdk_ios/Sources/arcgis_map_sdk_ios/CenterPositionStreamHandler.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
//
77

88
import Foundation
9+
import Flutter
910

1011
class CenterPositionStreamHandler: NSObject, FlutterStreamHandler {
1112

arcgis_map_sdk_ios/ios/Classes/GraphicsParser.swift renamed to arcgis_map_sdk_ios/ios/arcgis_map_sdk_ios/Sources/arcgis_map_sdk_ios/GraphicsParser.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import Foundation
99
import ArcGIS
10+
import Flutter
1011

1112
class GraphicsParser {
1213
let registrar: FlutterPluginRegistrar

arcgis_map_sdk_ios/ios/Classes/Models/MapColor.swift renamed to arcgis_map_sdk_ios/ios/arcgis_map_sdk_ios/Sources/arcgis_map_sdk_ios/Models/MapColor.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
//
44

55
import Foundation
6+
import UIKit
67

78
struct MapColor: Codable {
89
var red: Double
@@ -20,4 +21,4 @@ extension MapColor {
2021
alpha: opacity
2122
)
2223
}
23-
}
24+
}

arcgis_map_sdk_ios/ios/Classes/ZoomStreamHandler.swift renamed to arcgis_map_sdk_ios/ios/arcgis_map_sdk_ios/Sources/arcgis_map_sdk_ios/ZoomStreamHandler.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
//
77

88
import Foundation
9+
import Flutter
910

1011
class ZoomStreamHandler: NSObject, FlutterStreamHandler {
1112

example/ios/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,5 @@ Runner/GeneratedPluginRegistrant.*
3232
!default.mode2v3
3333
!default.pbxuser
3434
!default.perspectivev3
35+
36+
Package.resolved

example/ios/Podfile.lock

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,19 @@
11
PODS:
2-
- ArcGIS-Runtime-SDK-iOS (100.14.1)
3-
- ArcGIS-Runtime-Toolkit-iOS (100.14.0):
4-
- ArcGIS-Runtime-SDK-iOS (~> 100.14.0)
5-
- arcgis_map_sdk_ios (0.0.1):
6-
- ArcGIS-Runtime-Toolkit-iOS
7-
- Flutter
82
- Flutter (1.0.0)
93
- geolocator_apple (1.2.0):
104
- Flutter
115

126
DEPENDENCIES:
13-
- arcgis_map_sdk_ios (from `.symlinks/plugins/arcgis_map_sdk_ios/ios`)
147
- Flutter (from `Flutter`)
158
- geolocator_apple (from `.symlinks/plugins/geolocator_apple/ios`)
169

17-
SPEC REPOS:
18-
trunk:
19-
- ArcGIS-Runtime-SDK-iOS
20-
- ArcGIS-Runtime-Toolkit-iOS
21-
2210
EXTERNAL SOURCES:
23-
arcgis_map_sdk_ios:
24-
:path: ".symlinks/plugins/arcgis_map_sdk_ios/ios"
2511
Flutter:
2612
:path: Flutter
2713
geolocator_apple:
2814
:path: ".symlinks/plugins/geolocator_apple/ios"
2915

3016
SPEC CHECKSUMS:
31-
ArcGIS-Runtime-SDK-iOS: 6ab51d28f8831ac73c00d34998cff3a555fe304f
32-
ArcGIS-Runtime-Toolkit-iOS: e30bb45bd0bd0152bcb1ec73f9b99022a5c7d02d
33-
arcgis_map_sdk_ios: deb0d9d2dfedca86984c0aa81e6245eed03c8344
3417
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
3518
geolocator_apple: d981750b9f47dbdb02427e1476d9a04397beb8d9
3619

example/ios/Runner.xcodeproj/project.pbxproj

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
1212
605FA5D163A7B2040C9667D1 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6DFBB57AA011A2DA64754497 /* Pods_Runner.framework */; };
1313
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
14+
78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; };
1415
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
1516
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
1617
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
@@ -54,6 +55,7 @@
5455
isa = PBXFrameworksBuildPhase;
5556
buildActionMask = 2147483647;
5657
files = (
58+
78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */,
5759
605FA5D163A7B2040C9667D1 /* Pods_Runner.framework in Frameworks */,
5860
);
5961
runOnlyForDeploymentPostprocessing = 0;
@@ -88,7 +90,6 @@
8890
97C146EF1CF9000F007C117D /* Products */,
8991
EC58D96A64CE4D3D7740F25D /* Pods */,
9092
3776939CBC3633F36418AFD9 /* Frameworks */,
91-
838A69020171B4AA9B387170 /* SimpleMarkerSymbolPayload.swift */,
9293
);
9394
sourceTree = "<group>";
9495
};
@@ -122,7 +123,6 @@
122123
AFBD59F3D7EBE98D9F0820DA /* Pods-Runner.release.xcconfig */,
123124
48FDB075D82D2D5142D6BACF /* Pods-Runner.profile.xcconfig */,
124125
);
125-
name = Pods;
126126
path = Pods;
127127
sourceTree = "<group>";
128128
};
@@ -147,6 +147,9 @@
147147
dependencies = (
148148
);
149149
name = Runner;
150+
packageProductDependencies = (
151+
78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */,
152+
);
150153
productName = Runner;
151154
productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
152155
productType = "com.apple.product-type.application";
@@ -175,6 +178,9 @@
175178
Base,
176179
);
177180
mainGroup = 97C146E51CF9000F007C117D;
181+
packageReferences = (
182+
781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */,
183+
);
178184
productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
179185
projectDirPath = "";
180186
projectRoot = "";
@@ -363,6 +369,7 @@
363369
DEVELOPMENT_TEAM = 64Z45JP26B;
364370
ENABLE_BITCODE = NO;
365371
INFOPLIST_FILE = Runner/Info.plist;
372+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
366373
LD_RUNPATH_SEARCH_PATHS = (
367374
"$(inherited)",
368375
"@executable_path/Frameworks",
@@ -492,6 +499,7 @@
492499
DEVELOPMENT_TEAM = 64Z45JP26B;
493500
ENABLE_BITCODE = NO;
494501
INFOPLIST_FILE = Runner/Info.plist;
502+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
495503
LD_RUNPATH_SEARCH_PATHS = (
496504
"$(inherited)",
497505
"@executable_path/Frameworks",
@@ -515,6 +523,7 @@
515523
DEVELOPMENT_TEAM = 64Z45JP26B;
516524
ENABLE_BITCODE = NO;
517525
INFOPLIST_FILE = Runner/Info.plist;
526+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
518527
LD_RUNPATH_SEARCH_PATHS = (
519528
"$(inherited)",
520529
"@executable_path/Frameworks",
@@ -551,6 +560,20 @@
551560
defaultConfigurationName = Release;
552561
};
553562
/* End XCConfigurationList section */
563+
564+
/* Begin XCLocalSwiftPackageReference section */
565+
781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */ = {
566+
isa = XCLocalSwiftPackageReference;
567+
relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage;
568+
};
569+
/* End XCLocalSwiftPackageReference section */
570+
571+
/* Begin XCSwiftPackageProductDependency section */
572+
78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = {
573+
isa = XCSwiftPackageProductDependency;
574+
productName = FlutterGeneratedPluginSwiftPackage;
575+
};
576+
/* End XCSwiftPackageProductDependency section */
554577
};
555578
rootObject = 97C146E61CF9000F007C117D /* Project object */;
556579
}

example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,24 @@
55
<BuildAction
66
parallelizeBuildables = "YES"
77
buildImplicitDependencies = "YES">
8+
<PreActions>
9+
<ExecutionAction
10+
ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
11+
<ActionContent
12+
title = "Run Prepare Flutter Framework Script"
13+
scriptText = "/bin/sh &quot;$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh&quot; prepare&#10;">
14+
<EnvironmentBuildable>
15+
<BuildableReference
16+
BuildableIdentifier = "primary"
17+
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
18+
BuildableName = "Runner.app"
19+
BlueprintName = "Runner"
20+
ReferencedContainer = "container:Runner.xcodeproj">
21+
</BuildableReference>
22+
</EnvironmentBuildable>
23+
</ActionContent>
24+
</ExecutionAction>
25+
</PreActions>
826
<BuildActionEntries>
927
<BuildActionEntry
1028
buildForTesting = "YES"
@@ -48,6 +66,7 @@
4866
ignoresPersistentStateOnLaunch = "NO"
4967
debugDocumentVersioning = "YES"
5068
debugServiceExtension = "internal"
69+
enableGPUValidationMode = "1"
5170
allowLocationSimulation = "YES">
5271
<BuildableProductRunnable
5372
runnableDebuggingMode = "0">

0 commit comments

Comments
 (0)