Skip to content
This repository has been archived by the owner on Apr 29, 2021. It is now read-only.

Commit

Permalink
Updates for 100.10 (#68) (#69)
Browse files Browse the repository at this point in the history
* Updates for 100.10 (#68)

* Removes support for iOS 12

* Update RELEASE.md

Co-authored-by: Eli Gregory <[email protected]>

* Update README.md

* Bump to 100.10

* Update README.md

Co-authored-by: Eli Gregory <[email protected]>

Co-authored-by: Eli Gregory <[email protected]>

* Doc updates

* Update README.md

Co-authored-by: Eli Gregory <[email protected]>

* Update system requirement

Co-authored-by: Eli Gregory <[email protected]>
  • Loading branch information
nCastle1 and esreli committed Feb 22, 2021
1 parent 1e90c66 commit 8220a94
Show file tree
Hide file tree
Showing 8 changed files with 37 additions and 59 deletions.
2 changes: 1 addition & 1 deletion IndoorRouting.sln
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,6 @@ Global
$1.TabsToSpaces = True
$0.CSharpFormattingPolicy = $2
$2.scope = text/x-csharp
version = 2.0.4
version = 2.0.5
EndGlobalSection
EndGlobal
2 changes: 1 addition & 1 deletion IndoorRouting/IndoorRouting.shproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{C74E25B9-776D-4522-891F-660D1A128785}</ProjectGuid>
<ReleaseVersion>2.0.4</ReleaseVersion>
<ReleaseVersion>2.0.5</ReleaseVersion>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.Default.props" />
Expand Down
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Indoor Routing Xamarin

This repo provides an example app called [Indoor Routing for iOS](https://developers.arcgis.com/example-apps/indoor-routing-xamarin/?utm_source=github&utm_medium=web&utm_campaign=example_apps_indoor_xamarin_ios) devices built in Xamarin with the [ArcGIS Runtime SDK for .NET](https://developers.arcgis.com/net/). With some customization, you can change the app to use your indoor data and locators. Screenshots of the app and more detailed documentation can be found on the [Developers Site](https://developers.arcgis.com/example-apps/indoor-routing-xamarin/)
This repo provides an example app called [Indoor Routing for iOS](https://developers.arcgis.com/documentation/app-templates-and-builders/open-source-apps/indoor-routing/) devices built in Xamarin with the [ArcGIS Runtime SDK for .NET](https://developers.arcgis.com/net/). With some customization, you can change the app to use your indoor data and locators.

**Contents**

Expand Down Expand Up @@ -66,9 +66,8 @@ If there are changes made in the Original repository, you can sync the fork to k
4. ```git merge upstream/master``` to sync your local `master` branch with `upstream/master`. **Note**: Your local changes will be retained and your fork's master branch will be in sync with the upstream repository.

## Requirements
* [ArcGIS Runtime SDK for .NET 100.9 or higher](https://developers.arcgis.com/net/latest/)
* [XCode 11 or higher](https://developer.apple.com/xcode/downloads/)
* App supports a minimum deployment target of iOS 12 but requires the iOS 13 SDK to build. Note, because ArcGIS Runtime uses [Metal](https://developer.apple.com/metal/), if you want to simulate the app using an iOS simulator you must be running, at minimum, macOS Catalina and iOS 13.
* [ArcGIS Runtime SDK for .NET 100.10 or higher](https://developers.arcgis.com/net/)
* [Xcode](https://developer.apple.com/xcode/downloads/) and the iOS SDK. Note, the latest version of Xcode is [required](https://docs.microsoft.com/en-us/xamarin/ios/get-started/installation/#required-components) by Xamarin.iOS.
* [Visual Studio for Mac - latest](https://visualstudio.microsoft.com/vs/mac/) or [Visual Studio 2017 or higher](https://visualstudio.microsoft.com/vs/whatsnew/)

## Resources
Expand Down Expand Up @@ -103,7 +102,7 @@ Unless required by applicable law or agreed to in writing, software distributed

A copy of the license is available in the repository's [LICENSE](LICENSE) file.

For information about licensing your deployed app, see [License your app](https://developers.arcgis.com/net/latest/ios/guide/license-your-app.htm).
For information about licensing your deployed app, see [License your app](https://developers.arcgis.com/net/license-and-deployment/license/).

[](Esri Tags: ArcGIS Xamarin iOS Mobile)
[](Esri Language: C#)​
7 changes: 7 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Release notes

## Release 2.0.5

Changes:

* Deprecates support for iOS 12.
* Updated to ArcGIS Runtime 100.10.

## Release 2.0.4

Changes:
Expand Down
36 changes: 11 additions & 25 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ The Initial Viewpoint is the initial extent that the map is loaded to when the a

### Navigating the map

There are three ways to move around the map: pan, zoom and floor change. The floor picker is displayed only when the map is zoomed in past a certain extent. This extent is also defined in the settings and can be easily changed. When the floor picker is activated, the app applies [definition expressions](https://developers.arcgis.com/net/latest/ios/api-reference/) on the rooms and walls layers to only display the selected floor.
There are three ways to move around the map: pan, zoom and floor change. The floor picker is displayed only when the map is zoomed in past a certain extent. This extent is also defined in the settings and can be easily changed. When the floor picker is activated, the app applies definition expressions on the rooms and walls layers to only display the selected floor.

![Manual Zoom-in](./images/manualzoomin.png)

Expand Down Expand Up @@ -244,9 +244,9 @@ internal async Task<GeocodeResult> GetSearchedLocationAsync(string searchString)
```

Several matches are returned, with corresponding accuracy scores. This app makes the assumption that the first match is the best, but it could be changed so users see more than one of the returned matches.
[Read more about locators](https://developers.arcgis.com/net/latest/wpf/guide/search-for-places-geocoding-.htm).
[Read more about locators](https://developers.arcgis.com/documentation/mapping-apis-and-location-services/search/geocoding/).

The resulting location is then added to the map inside a [graphics overlay](https://developers.arcgis.com/net/latest/wpf/guide/add-graphics-overlays-to-your-app.htm)
The resulting location is then added to the map inside a [graphics overlay](https://developers.arcgis.com/documentation/mapping-apis-and-location-services/maps/graphics/)

![Search Using Search Bar](./images/searchusingsearchbar.png)

Expand Down Expand Up @@ -307,7 +307,7 @@ The app offers the option to set a Home Location. This location is used to pre-p

### Routing

Once search is complete and a feature is selected on the map, the route icon appears on the bottom card. Tapping that navigates the app to the routing page, where user is prompted to add a Start and End location. The End location is always pre-populated with the feature selected on the map. The Start location is only pre-populated if Location Services is enabled or if the user has a Home Location set. When the user hits Route Me, the app navigates back to the map and the route is generated using the TransportationNetwork that was packaged in the mmpk. Read more about [routing and how to create routes using transportation networks](https://developers.arcgis.com/net/latest/ios/guide/find-a-route.htm).
Once search is complete and a feature is selected on the map, the route icon appears on the bottom card. Tapping that navigates the app to the routing page, where user is prompted to add a Start and End location. The End location is always pre-populated with the feature selected on the map. The Start location is only pre-populated if Location Services is enabled or if the user has a Home Location set. When the user hits Route Me, the app navigates back to the map and the route is generated using the TransportationNetwork that was packaged in the mmpk. Read more about [routing and how to create routes using transportation networks](https://developers.arcgis.com/documentation/mapping-apis-and-location-services/routing/routing/).

```csharp
var routeTask = await RouteTask.CreateAsync(this.Map.TransportationNetworks[0]);
Expand Down Expand Up @@ -419,7 +419,7 @@ iPad (2019):

## Customize app appearance

To make it easier to update the visual appearance of the app, many values related to the UI are configured in a static `ApplicationTheme` class. You can edit values in that class to update the entire app in a uniform way. Note that some values differ between iOS 12 and later versions, due to limitations in support for dark mode APIs.
To make it easier to update the visual appearance of the app, many values related to the UI are configured in a static `ApplicationTheme` class. You can edit values in that class to update the entire app in a uniform way.

```cs
public static class ApplicationTheme
Expand Down Expand Up @@ -456,7 +456,6 @@ public static class ApplicationTheme
HandlebarCornerRadius = 2;
CornerRadius = 8;


// Accessory button is a light/dark responsive color defined in the asset catalog
AccessoryButtonColor = UIColor.FromName("AccessoryButtonColor");
ActionBackgroundColor = AccessoryButtonColor;
Expand All @@ -467,25 +466,12 @@ public static class ApplicationTheme
ActionButtonHeight = 44;
HeaderFont = UIFont.PreferredTitle1;

if (UIDevice.CurrentDevice.CheckSystemVersion(13, 0))
{
BackgroundColor = UIColor.SystemBackgroundColor;
ForegroundColor = UIColor.LabelColor;
SeparatorColor = UIColor.SystemGray2Color;
PanelBackgroundMaterial = UIBlurEffect.FromStyle(UIBlurEffectStyle.SystemMaterial);
PrimaryLabelColor = UIColor.LabelColor;
SecondaryLabelColor = UIColor.SecondaryLabelColor;
}
else
{
BackgroundColor = UIColor.White;
ForegroundColor = UIColor.Black;
SeparatorColor = UIColor.LightGray;
PanelBackgroundMaterial = UIBlurEffect.FromStyle(UIBlurEffectStyle.Prominent);
PrimaryLabelColor = UIColor.Black;
SecondaryLabelColor = UIColor.DarkGray;
}

BackgroundColor = UIColor.SystemBackgroundColor;
ForegroundColor = UIColor.LabelColor;
SeparatorColor = UIColor.SystemGray2Color;
PanelBackgroundMaterial = UIBlurEffect.FromStyle(UIBlurEffectStyle.SystemMaterial);
PrimaryLabelColor = UIColor.LabelColor;
SecondaryLabelColor = UIColor.SecondaryLabelColor;
}
}
```
Expand Down
26 changes: 6 additions & 20 deletions iOS/ApplicationTheme.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ static ApplicationTheme()
HandlebarCornerRadius = 2;
CornerRadius = 8;


// Accessory button is a light/dark responsive color defined in the asset catalog
AccessoryButtonColor = UIColor.FromName("AccessoryButtonColor");
ActionBackgroundColor = AccessoryButtonColor;
Expand All @@ -65,25 +64,12 @@ static ApplicationTheme()
ActionButtonHeight = 44;
HeaderFont = UIFont.PreferredTitle1;

if (UIDevice.CurrentDevice.CheckSystemVersion(13, 0))
{
BackgroundColor = UIColor.SystemBackgroundColor;
ForegroundColor = UIColor.LabelColor;
SeparatorColor = UIColor.SystemGray2Color;
PanelBackgroundMaterial = UIBlurEffect.FromStyle(UIBlurEffectStyle.SystemMaterial);
PrimaryLabelColor = UIColor.LabelColor;
SecondaryLabelColor = UIColor.SecondaryLabelColor;
}
else
{
BackgroundColor = UIColor.White;
ForegroundColor = UIColor.Black;
SeparatorColor = UIColor.LightGray;
PanelBackgroundMaterial = UIBlurEffect.FromStyle(UIBlurEffectStyle.Prominent);
PrimaryLabelColor = UIColor.Black;
SecondaryLabelColor = UIColor.DarkGray;
}

BackgroundColor = UIColor.SystemBackgroundColor;
ForegroundColor = UIColor.LabelColor;
SeparatorColor = UIColor.SystemGray2Color;
PanelBackgroundMaterial = UIBlurEffect.FromStyle(UIBlurEffectStyle.SystemMaterial);
PrimaryLabelColor = UIColor.LabelColor;
SecondaryLabelColor = UIColor.SecondaryLabelColor;
}
}
}
8 changes: 4 additions & 4 deletions iOS/IndoorRouting.iOS.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<ReleaseVersion>2.0.4</ReleaseVersion>
<ReleaseVersion>2.0.5</ReleaseVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
<DebugSymbols>true</DebugSymbols>
Expand Down Expand Up @@ -342,13 +342,13 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Esri.ArcGISRuntime">
<Version>100.9.0</Version>
<Version>100.10.0</Version>
</PackageReference>
<PackageReference Include="Esri.ArcGISRuntime.Xamarin.iOS">
<Version>100.9.0</Version>
<Version>100.10.0</Version>
</PackageReference>
<PackageReference Include="Esri.ArcGISRuntime.Toolkit">
<Version>100.9.0</Version>
<Version>100.10.0</Version>
</PackageReference>
</ItemGroup>
<ItemGroup />
Expand Down
6 changes: 3 additions & 3 deletions iOS/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@
<key>CFBundleIdentifier</key>
<string>com.esri.arcgisruntime.opensourceapps.indoorrouting.xamarin</string>
<key>CFBundleShortVersionString</key>
<string>2.0.4</string>
<string>2.0.5</string>
<key>CFBundleVersion</key>
<string>2.0.4</string>
<string>2.0.5</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>MinimumOSVersion</key>
<string>12.0</string>
<string>13.0</string>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
Expand Down

0 comments on commit 8220a94

Please sign in to comment.