Skip to content

Commit efaa61f

Browse files
Framework commit, version 4.0.3, see CHANGELOG.md
1 parent 185bf36 commit efaa61f

File tree

94 files changed

+46466
-9119
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

94 files changed

+46466
-9119
lines changed

CHANGELOG.md

+38-68
Original file line numberDiff line numberDiff line change
@@ -1,97 +1,67 @@
11

2-
## iOS Version Requirements
3-
4-
MapsIndoors SDK v4 requires at least iOS 13 and Xcode 14.
5-
6-
## [4.0.0-beta7] 2023-03-20
7-
8-
MapsIndoors iOS v4 SDK is considered feature complete but some changes to the public interface is to be expected. The beta status indicates that there may be bugs and unresponsive or slow map rendering under certain conditions.
9-
2+
<!---
3+
## [Unreleased]
104
### Added
11-
12-
- MapsIndoors framework that contains the public interface for MapsIndoors.
13-
14-
### Changed
15-
16-
- With the addition of the MapsIndoors framework it is now necessary to `import MapsIndoors` instead of `import MapsIndoorsCore` (`import MapsIndoorsCore` is still needed in a few cases as described in the documentation and migration guide).
17-
185
### Fixed
6+
### Changed
7+
### Removed
8+
-->
199

20-
- Directions now work with external routes as well, using Google Maps Directions API or Mapbox Navigation API, respectively.
21-
22-
## [4.0.0-beta6] 2023-02-16
10+
## iOS Version Requirements
2311

24-
### Changed
12+
MapsIndoors SDK v4 requires at least iOS 13 and Xcode 14.
2513

26-
* `MapsIndoors.shared.newMapControl(mapConfig:)` has been renamed to `MapsIndoors.shared.createMapControl(mapConfig:)`
27-
* Assignment of PositionProvider is moved to MapControl.
28-
* Access to pre-defined DisplayRules and those from the CMS are now accessed via `MapsIndoors.shared.displayRuleFor(displayRuleType:)`
14+
## [4.0.3] 2023-04-21
2915

3016
### Fixed
3117

32-
* Tiles load faster on Google Map.
33-
* 2D Models use less resources.
34-
* Building outline is drawn in correct width.
35-
* Location polygons respect opacity.
18+
- Icons not respecting zoom levels Display Rules, which caused them to appear/disappear
3619

37-
## [4.0.0-beta5] 2023-02-13
20+
## [4.0.2] 2023-04-13
3821

3922
### Fixed
4023

41-
* Locations now actually show on Mapbox Map in apps using Cocoapod or XCFramework
42-
43-
### Known issues
24+
- A number of rendering issues have been corrected.
25+
- An issue that could prevent a route from being correctly created.
4426

45-
* Content rendering order (polygons, markers, models, etc.)
46-
* Clustering not working
47-
* Directions relying on external routing not working
48-
49-
## [4.0.0-beta4] 2023-02-10
27+
## [4.0.1] 2023-04-05
5028

5129
### Fixed
5230

53-
* Locations now show on Mapbox Map in apps using Cocoapod or XCFramework
54-
55-
### Known issues
31+
- Fixed crash with Mapbox when panning around the map.
5632

57-
* Content rendering order (polygons, markers, models, etc.)
58-
* Clustering not working
59-
* Directions relying on external routing not working
33+
## [4.0.0] 2023-03-31
6034

61-
## [4.0.0-beta3] 2023-02-09
35+
Version 4 of the MapsIndoors SDK has changed significantly compared to version 3. There is a [migration guide](https://docs.mapsindoors.com/getting-started/ios/v4/v4-migration-guide) that describes the changes.
6236

6337
### Added
6438

65-
* Added support for MPSelectionBehavior
66-
* Added support for MPFilterBehavior
67-
68-
### Fixed
69-
70-
* InfoWindow shows when Location is selected
71-
* Support of "Hide icon over label" configuration
72-
* 2D models are shown on Google Maps
73-
74-
### Known issues
75-
76-
* Content rendering order (polygons, markers, models, etc.)
77-
* Clustering not working
78-
* Directions relying on external routing not working
79-
80-
## [4.0.0-beta2] 2023-02-03
39+
* Support for new map providers
40+
* MapsIndoors can now be used with the Mapbox v10 SDK.
41+
* `goTo(entity:)`
42+
* A new method for moving the camera to MapsIndoors locations, this new method goTo() can be used with any class that implements MPEntity, which includes but is not limited to MPLocation, MPFloor, and MPBuilding.
43+
* Solution Config
44+
* The SDK now supports the Solution Config.
45+
* This also introduces the new Main Display Rule, which is bundled into the solution config, along with collision handling and clustering.
46+
* New Cocoapods
47+
* The main Cocoapod to use is either `MapsIndoorsGoogleMaps` or `MapsIndoorsMapbox` depending on the map engine to use.
48+
* Both of these Cocoapods are dependent on the `MapsIndoors` and `MapsIndoorsCore` Cocoapods and will automatically include them.
49+
* Most classes in `MapsIndoorsCore` are public but meant for communication between the core SDK and map platform specific code. These classes are not described in the reference docs. Refrain from using these classes unless you know what you are doing.
8150

8251
### Changed
8352

84-
* Many interface changes. See migration guide for help in migrating from MapsIndoors SDK v3.
85-
* Minimum iOS version supported is iOS 13.
86-
* Required Xcode version is Xcode 14.
87-
88-
## [4.0.0-beta1] 2023-01-11
53+
* Initialisation of MapsIndoors
54+
* The interface to initiate the SDK is improved for smaller and safer implementations.
55+
* Initialise MapsIndoors with `MPMapsIndoors.shared.load(apiKey: "YOUR_MAPSINDOORS_API_KEY")`
56+
* Initialization of MapControl
57+
* In order to support multiple map engines an `MPMapConfig` is needed.
58+
* The `MPMapConfig` is then used to create a MapControl: `let mapControl = MPMapsIndoors.createMapControl(mapConfig: mapConfig)`.
59+
* Display Rules
60+
* Display Rules have been reworked completely.
61+
* Display Rules are now reference based, thus any changes to a rule are instantaneous.
62+
* Display Rules can be reset with `reset()`. This will return the display rule to the state it has in the CMS.
63+
* The iOS SDK Reference Docs have been modernised and are now available at https://app.mapsindoors.com/mapsindoors/reference/ios/v4-doc/documentation/mapsindoors/
8964

90-
### Added
91-
92-
* Support for Mapbox as map engine.
93-
94-
### Changed
9565

9666
* Many interface changes. See migration guide for help in migrating from MapsIndoors SDK v3.
9767
* Minimum iOS version supported is iOS 13.

MapsIndoors.podspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
Pod::Spec.new do |s|
1010
s.name = 'MapsIndoors'
11-
s.version = '4.0.2'
11+
s.version = '4.0.3'
1212
s.summary = 'Library making the MapsIndoors experience available to your iOS users.'
1313
s.description = "The MapsIndoors SDK is the idea of integrating everything at your venue, like people, goods, offices, shops, rooms and buildings with the mapping, positioning and wayfinding technologies provided in the MapsIndoors platform. We make the MapsIndoors platform available to interested businesses and/or partners. So if you think you should be one of them, please call us or send us an email. Meanwhile, you are most welcome to check out the demo project using 'pod try MapsIndoors'."
1414

MapsIndoors.xcframework.zip

1.02 KB
Binary file not shown.

MapsIndoors.xcframework/Info.plist

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,30 @@
66
<array>
77
<dict>
88
<key>LibraryIdentifier</key>
9-
<string>ios-arm64_x86_64-simulator</string>
9+
<string>ios-arm64</string>
1010
<key>LibraryPath</key>
1111
<string>MapsIndoors.framework</string>
1212
<key>SupportedArchitectures</key>
1313
<array>
1414
<string>arm64</string>
15-
<string>x86_64</string>
1615
</array>
1716
<key>SupportedPlatform</key>
1817
<string>ios</string>
19-
<key>SupportedPlatformVariant</key>
20-
<string>simulator</string>
2118
</dict>
2219
<dict>
2320
<key>LibraryIdentifier</key>
24-
<string>ios-arm64</string>
21+
<string>ios-arm64_x86_64-simulator</string>
2522
<key>LibraryPath</key>
2623
<string>MapsIndoors.framework</string>
2724
<key>SupportedArchitectures</key>
2825
<array>
2926
<string>arm64</string>
27+
<string>x86_64</string>
3028
</array>
3129
<key>SupportedPlatform</key>
3230
<string>ios</string>
31+
<key>SupportedPlatformVariant</key>
32+
<string>simulator</string>
3333
</dict>
3434
</array>
3535
<key>CFBundlePackageType</key>

MapsIndoors.xcframework/ios-arm64/MapsIndoors.framework/Headers/MapsIndoors-Swift.h

+2
Original file line numberDiff line numberDiff line change
@@ -1887,6 +1887,8 @@ SWIFT_PROTOCOL("_TtP11MapsIndoors12MPMapControl_")
18871887
@property (nonatomic, strong) id <MPCustomFloorSelector> _Nullable floorSelector;
18881888
/// Hide or show the floor selector, defaults to false.
18891889
@property (nonatomic) BOOL hideFloorSelector;
1890+
/// Hide or show the info window on user-selected locations (default is true)
1891+
@property (nonatomic) BOOL showInfoWindowOnClickedLocation;
18901892
/// Get the current floor index.
18911893
@property (nonatomic, readonly) NSInteger currentFloorIndex;
18921894
/// Get or set the map styling.
Binary file not shown.
Binary file not shown.

MapsIndoors.xcframework/ios-arm64/MapsIndoors.framework/Modules/MapsIndoors.swiftmodule/arm64-apple-ios.abi.json

+92-13
Original file line numberDiff line numberDiff line change
@@ -47411,6 +47411,85 @@
4741147411
}
4741247412
]
4741347413
},
47414+
{
47415+
"kind": "Var",
47416+
"name": "showInfoWindowOnClickedLocation",
47417+
"printedName": "showInfoWindowOnClickedLocation",
47418+
"children": [
47419+
{
47420+
"kind": "TypeNominal",
47421+
"name": "Bool",
47422+
"printedName": "Swift.Bool",
47423+
"usr": "s:Sb"
47424+
}
47425+
],
47426+
"declKind": "Var",
47427+
"usr": "c:@M@MapsIndoors@objc(pl)MPMapControl(py)showInfoWindowOnClickedLocation",
47428+
"mangledName": "$s11MapsIndoors12MPMapControlP31showInfoWindowOnClickedLocationSbvp",
47429+
"moduleName": "MapsIndoors",
47430+
"protocolReq": true,
47431+
"declAttributes": [
47432+
"ObjC",
47433+
"RawDocComment"
47434+
],
47435+
"accessors": [
47436+
{
47437+
"kind": "Accessor",
47438+
"name": "Get",
47439+
"printedName": "Get()",
47440+
"children": [
47441+
{
47442+
"kind": "TypeNominal",
47443+
"name": "Bool",
47444+
"printedName": "Swift.Bool",
47445+
"usr": "s:Sb"
47446+
}
47447+
],
47448+
"declKind": "Accessor",
47449+
"usr": "c:@M@MapsIndoors@objc(pl)MPMapControl(im)showInfoWindowOnClickedLocation",
47450+
"mangledName": "$s11MapsIndoors12MPMapControlP31showInfoWindowOnClickedLocationSbvg",
47451+
"moduleName": "MapsIndoors",
47452+
"genericSig": "<τ_0_0 where τ_0_0 : MapsIndoors.MPMapControl>",
47453+
"sugared_genericSig": "<Self where Self : MapsIndoors.MPMapControl>",
47454+
"protocolReq": true,
47455+
"declAttributes": [
47456+
"ObjC"
47457+
],
47458+
"reqNewWitnessTableEntry": true,
47459+
"accessorKind": "get"
47460+
},
47461+
{
47462+
"kind": "Accessor",
47463+
"name": "Set",
47464+
"printedName": "Set()",
47465+
"children": [
47466+
{
47467+
"kind": "TypeNominal",
47468+
"name": "Void",
47469+
"printedName": "()"
47470+
},
47471+
{
47472+
"kind": "TypeNominal",
47473+
"name": "Bool",
47474+
"printedName": "Swift.Bool",
47475+
"usr": "s:Sb"
47476+
}
47477+
],
47478+
"declKind": "Accessor",
47479+
"usr": "c:@M@MapsIndoors@objc(pl)MPMapControl(im)setShowInfoWindowOnClickedLocation:",
47480+
"mangledName": "$s11MapsIndoors12MPMapControlP31showInfoWindowOnClickedLocationSbvs",
47481+
"moduleName": "MapsIndoors",
47482+
"genericSig": "<τ_0_0 where τ_0_0 : MapsIndoors.MPMapControl>",
47483+
"sugared_genericSig": "<Self where Self : MapsIndoors.MPMapControl>",
47484+
"protocolReq": true,
47485+
"declAttributes": [
47486+
"ObjC"
47487+
],
47488+
"reqNewWitnessTableEntry": true,
47489+
"accessorKind": "set"
47490+
}
47491+
]
47492+
},
4741447493
{
4741547494
"kind": "Var",
4741647495
"name": "currentFloorIndex",
@@ -57385,7 +57464,7 @@
5738557464
{
5738657465
"filePath": "\/Users\/ciuser\/builds\/hR_k36Qo\/0\/MapsIndoors\/SDK\/MISDKIOS\/MapsIndoors\/MPQuery.swift",
5738757466
"kind": "StringLiteral",
57388-
"offset": 2341,
57467+
"offset": 2404,
5738957468
"length": 2,
5739057469
"value": "\"\""
5739157470
},
@@ -57784,14 +57863,14 @@
5778457863
{
5778557864
"filePath": "\/Users\/ciuser\/builds\/hR_k36Qo\/0\/MapsIndoors\/SDK\/MISDKIOS\/MapsIndoors\/MPEntityInfo.swift",
5778657865
"kind": "StringLiteral",
57787-
"offset": 639,
57866+
"offset": 638,
5778857867
"length": 8,
5778957868
"value": "\"fields\""
5779057869
},
5779157870
{
5779257871
"filePath": "\/Users\/ciuser\/builds\/hR_k36Qo\/0\/MapsIndoors\/SDK\/MISDKIOS\/MapsIndoors\/MPEntityInfo.swift",
5779357872
"kind": "StringLiteral",
57794-
"offset": 639,
57873+
"offset": 638,
5779557874
"length": 8,
5779657875
"value": "\"fields\""
5779757876
},
@@ -58036,56 +58115,56 @@
5803658115
{
5803758116
"filePath": "\/Users\/ciuser\/builds\/hR_k36Qo\/0\/MapsIndoors\/SDK\/MISDKIOS\/MapsIndoors\/MPFilter.swift",
5803858117
"kind": "BooleanLiteral",
58039-
"offset": 3296,
58118+
"offset": 3456,
5804058119
"length": 5,
5804158120
"value": "false"
5804258121
},
5804358122
{
5804458123
"filePath": "\/Users\/ciuser\/builds\/hR_k36Qo\/0\/MapsIndoors\/SDK\/MISDKIOS\/MapsIndoors\/MPFilter.swift",
5804558124
"kind": "BooleanLiteral",
58046-
"offset": 3434,
58125+
"offset": 3594,
5804758126
"length": 5,
5804858127
"value": "false"
5804958128
},
5805058129
{
5805158130
"filePath": "\/Users\/ciuser\/builds\/hR_k36Qo\/0\/MapsIndoors\/SDK\/MISDKIOS\/MapsIndoors\/MPFilter.swift",
5805258131
"kind": "IntegerLiteral",
58053-
"offset": 3532,
58132+
"offset": 3692,
5805458133
"length": 1,
5805558134
"value": "0"
5805658135
},
5805758136
{
5805858137
"filePath": "\/Users\/ciuser\/builds\/hR_k36Qo\/0\/MapsIndoors\/SDK\/MISDKIOS\/MapsIndoors\/MPFilter.swift",
5805958138
"kind": "IntegerLiteral",
58060-
"offset": 4124,
58139+
"offset": 4284,
5806158140
"length": 1,
5806258141
"value": "1"
5806358142
},
5806458143
{
5806558144
"filePath": "\/Users\/ciuser\/builds\/hR_k36Qo\/0\/MapsIndoors\/SDK\/MISDKIOS\/MapsIndoors\/MPFilter.swift",
5806658145
"kind": "Array",
58067-
"offset": 5321,
58146+
"offset": 5481,
5806858147
"length": 2,
5806958148
"value": "[]"
5807058149
},
5807158150
{
5807258151
"filePath": "\/Users\/ciuser\/builds\/hR_k36Qo\/0\/MapsIndoors\/SDK\/MISDKIOS\/MapsIndoors\/MPFilter.swift",
5807358152
"kind": "Array",
58074-
"offset": 5374,
58153+
"offset": 5534,
5807558154
"length": 2,
5807658155
"value": "[]"
5807758156
},
5807858157
{
5807958158
"filePath": "\/Users\/ciuser\/builds\/hR_k36Qo\/0\/MapsIndoors\/SDK\/MISDKIOS\/MapsIndoors\/MPFilter.swift",
5808058159
"kind": "IntegerLiteral",
58081-
"offset": 5411,
58160+
"offset": 5571,
5808258161
"length": 1,
5808358162
"value": "0"
5808458163
},
5808558164
{
5808658165
"filePath": "\/Users\/ciuser\/builds\/hR_k36Qo\/0\/MapsIndoors\/SDK\/MISDKIOS\/MapsIndoors\/MPFilter.swift",
5808758166
"kind": "IntegerLiteral",
58088-
"offset": 5427,
58167+
"offset": 5587,
5808958168
"length": 1,
5809058169
"value": "1"
5809158170
},
@@ -58218,14 +58297,14 @@
5821858297
{
5821958298
"filePath": "\/Users\/ciuser\/builds\/hR_k36Qo\/0\/MapsIndoors\/SDK\/MISDKIOS\/MapsIndoors\/Geometry.swift",
5822058299
"kind": "StringLiteral",
58221-
"offset": 14071,
58300+
"offset": 14067,
5822258301
"length": 12,
5822358302
"value": "\"MapsIndoors.MPGeoPolygon\""
5822458303
},
5822558304
{
5822658305
"filePath": "\/Users\/ciuser\/builds\/hR_k36Qo\/0\/MapsIndoors\/SDK\/MISDKIOS\/MapsIndoors\/Geometry.swift",
5822758306
"kind": "StringLiteral",
58228-
"offset": 16944,
58307+
"offset": 16940,
5822958308
"length": 13,
5823058309
"value": "\"MapsIndoors.MPGeoPolyline\""
5823158310
},

MapsIndoors.xcframework/ios-arm64/MapsIndoors.framework/Modules/MapsIndoors.swiftmodule/arm64-apple-ios.private.swiftinterface

+1
Original file line numberDiff line numberDiff line change
@@ -1341,6 +1341,7 @@ public class MPDataFieldCodable : MapsIndoors.MPDataField, Swift.Codable {
13411341
@objc var delegate: MapsIndoors.MPMapControlDelegate? { get set }
13421342
@objc var floorSelector: MapsIndoors.MPCustomFloorSelector? { get set }
13431343
@objc var hideFloorSelector: Swift.Bool { get set }
1344+
@objc var showInfoWindowOnClickedLocation: Swift.Bool { get set }
13441345
@objc var currentFloorIndex: Swift.Int { get }
13451346
@objc var mapStyle: MapsIndoors.MPMapStyle? { get set }
13461347
@objc var showUserPosition: Swift.Bool { get set }

MapsIndoors.xcframework/ios-arm64/MapsIndoors.framework/Modules/MapsIndoors.swiftmodule/arm64-apple-ios.swiftinterface

+1
Original file line numberDiff line numberDiff line change
@@ -1341,6 +1341,7 @@ public class MPDataFieldCodable : MapsIndoors.MPDataField, Swift.Codable {
13411341
@objc var delegate: MapsIndoors.MPMapControlDelegate? { get set }
13421342
@objc var floorSelector: MapsIndoors.MPCustomFloorSelector? { get set }
13431343
@objc var hideFloorSelector: Swift.Bool { get set }
1344+
@objc var showInfoWindowOnClickedLocation: Swift.Bool { get set }
13441345
@objc var currentFloorIndex: Swift.Int { get }
13451346
@objc var mapStyle: MapsIndoors.MPMapStyle? { get set }
13461347
@objc var showUserPosition: Swift.Bool { get set }

0 commit comments

Comments
 (0)