This commit is contained in:
conceptdev 2019-07-24 18:24:49 -07:00
Родитель 748e927fad
Коммит 39b1d41dec
40 изменённых файлов: 259 добавлений и 270 удалений

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - ARKitAudio
description: "This sample runs an ARKit world tracking session with content displayed in a SceneKit view. To demonstrate plane detection... #ios11"
description: "This sample runs an ARKit world tracking session with content displayed in a SceneKit view. To demonstrate plane detection... (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-arkitaudio
---
# ARKitAudio
@ -30,7 +33,3 @@ This sample is runnable on iPhone/iPad devices since it requires a real camera.
## License
Xamarin port changes are released under the MIT license.
## Author
Ported to Xamarin.iOS by Mykyta Bondarenko

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - ARKit Sample "Placing Objects"
description: "This sample is an ARKit augmented reality demo: you can place objects on detected surfaces. To test this sample you'll need to deploy it #ios11"
description: "This sample is an ARKit augmented reality demo: you can place objects on detected surfaces. To test this sample you'll need to deploy it (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-arkitplacingobjects
---
# ARKit Sample "Placing Objects"
@ -16,11 +19,6 @@ To test this sample you'll need to deploy it on a device running iOS 11 software
![Demo showing placed objects and menu](Screenshots/arkit-sml.png)
## License
Xamarin port changes are released under the MIT license
## Author
Ported to Xamarin.iOS by Larry O'Brien, Kevin Mullins

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - ARKit Sample
description: "This sample is a simple ARKit augmented reality demo. To test this sample you'll need to deploy it on a device running iOS 11 beta software #ios11"
description: "This sample is a simple ARKit augmented reality demo. To test this sample you'll need to deploy it on a device running iOS 11 beta software (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-arkitsample
---
# ARKit Sample
@ -21,7 +24,3 @@ By default, the sample presents a jet in a fixed location. To animate the jet ar
## License
Xamarin port changes are released under the MIT license
## Author
Ported to Xamarin.iOS by Kevin Mullins, Larry O'Brien

Просмотреть файл

@ -1,26 +1,30 @@
---
name: Xamarin.iOS - AVCam
description: "Using AVFoundation to Capture Images and Movies, this sample demonstrates how to use the AVFoundation capture API to record movies... #ios11"
description: "Using AVFoundation to Capture Images and Movies, this sample demonstrates how to use the AVFoundation capture API to record movies... (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-avcam
---
# AVCam
### Using AVFoundation to Capture Images and Movies
## Using AVFoundation to Capture Images and Movies
AVCam demonstrates how to use the `AVFoundation` capture API to record movies and capture still images. The sample has a record button for recording movies, a camera button for switching between front and back cameras (on supported devices), and a still button for capturing still images. AVCam runs only on an actual device, either an `iPad` or `iPhone`, and cannot be run in `Simulator`.
### Build Requirements
Xcode 9.0, iOS 11.0 SDK
### Runtime
iOS 11.0 or later
### Author
Xamarin port changes are released under the MIT license
## License
Ported to Xamarin.iOS by Rustam Zaitov, Bill Holmes
Xamarin port changes are released under the MIT license

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - AVCamBarcode
description: "Demonstrates how to use the AVFoundation capture API to detect barcodes and faces. Machine Readable Codes QR code PDF-417 Data Matrix... #ios11"
description: "Demonstrates how to use the AVFoundation capture API to detect barcodes and faces. Machine Readable Codes QR code PDF-417 Data Matrix... (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-avcambarcode
---
# AVCamBarcode
@ -14,13 +17,15 @@ This sample demonstrates how to use the AVFoundation capture API to detect barco
## Machine Readable Codes
* QR code
- QR code
![qr_code](https://github.com/xamarin/ios-samples/raw/master/ios11/AVCamBarcode/Resources/code1.png)
* PDF-417
- PDF-417
![pdf417](https://github.com/xamarin/ios-samples/raw/master/ios11/AVCamBarcode/Resources/code2.gif)
* Data Matrix
- Data Matrix
![datamatrix](https://github.com/xamarin/ios-samples/raw/master/ios11/AVCamBarcode/Resources/code3.png)
@ -31,7 +36,3 @@ Xcode 9.0 or later; iOS 11.0 SDK or later
## Target
This sample runnable on iPhone/iPad devices since it requires a real camera.
## Author
Ported to Xamarin.iOS by Mykyta Bondarenko, Rustam Zaitov

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - CoreML with Azure Custom Vision Service
description: "This sample CustomVision is a demo of the new iOS 11 Vision framework and CoreML, using a model trained with Azure's Custom Vision Service #ios11"
description: "This sample CustomVision is a demo of the new iOS 11 Vision framework and CoreML, using a model trained with Azure's Custom Vision Service (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-coremlazuremodel
---
# CoreML with Azure Custom Vision Service
@ -21,11 +24,6 @@ The custom model has been trained to recognize differet varieties of fruit:
![Screenshot of fruit recognizer working](Screenshots/banana-sml.png)
## License
Xamarin port changes are released under the MIT license
## Author
Ported to Xamarin.iOS by Larry O'Brien, Craig Dunn

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - CoreML Image Recognition
description: "Demo of iOS 11 CoreML using different image recognition models to identify features in photographs. The smaller, simpler... #ios11"
description: "Demo of iOS 11 CoreML using different image recognition models to identify features in photographs. The smaller, simpler... (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-coremlimagerecognition
---
# CoreML Image Recognition
@ -23,7 +26,3 @@ Tap the model name in the lower-left of the screen to switch between models whil
## License
Xamarin port changes are released under the MIT license
## Author
Ported to Xamarin.iOS by Kevin Mullins, Larry O'Brien

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - CoreML and Vision Example
description: "Demo of the new iOS 11 Vision framework and CoreML. It detects a handwritten number inside a box; use the sample photos in the... #ios11"
description: "Demo of the new iOS 11 Vision framework and CoreML. It detects a handwritten number inside a box; use the sample photos in the... (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-coremlvision
---
# CoreML and Vision Example
@ -19,7 +22,3 @@ It detects a handwritten number inside a box; use the sample photos in the **Tes
## License
Xamarin port changes are released under the MIT license
## Author
Ported to Xamarin.iOS by Kevin Mullins

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Drag and Drop CollectionView Example
description: "Demo of the new iOS 11 Drag and Drop feature using UICollectionView & UITableView. Test this app on an iPad - the drag and drop... #ios11"
description: "Demo of the new iOS 11 Drag and Drop feature using UICollectionView & UITableView. Test this app on an iPad - the drag and drop... (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-draganddropcollectionview
---
# Drag and Drop CollectionView Example
@ -23,11 +26,6 @@ Test this app on an iPad - the drag and drop functionality does not work on iPho
![drag and drop example screenshot](Screenshots/01-sml.png)
## License
Xamarin port changes are released under the MIT license
## Author
Ported to Xamarin.iOS by Craig Dunn

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Drag and Drop Custom View Example
description: "Demo of the new iOS 11 Drag and Drop feature in a custom view Test this app on an iPad - the drag and drop functionality does not... #ios11"
description: "Demo of the new iOS 11 Drag and Drop feature in a custom view Test this app on an iPad - the drag and drop functionality does not... (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-draganddropcustomview
---
# Drag and Drop Custom View Example
@ -19,7 +22,3 @@ Test this app on an iPad - the drag and drop functionality does not work on iPho
## License
Xamarin port changes are released under the MIT license
## Author
Ported to Xamarin.iOS by Vincent Dondain

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Drag and Drop Example
description: "Demo of the new iOS 11 Drag and Drop. Test this app on an iPad - the drag and drop functionality does not work on iPhone #ios11"
description: "Demo of the new iOS 11 Drag and Drop. Test this app on an iPad - the drag and drop functionality does not work on iPhone (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-draganddropdragboard
---
# Drag and Drop Example
@ -19,7 +22,3 @@ Test this app on an iPad - the drag and drop functionality does not work on iPho
## License
Xamarin port changes are released under the MIT license
## Author
Ported to Xamarin.iOS by Kevin Mullins

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Mastering Drag and Drop in iOS 11
description: "There are two app projects in this sample, intended to be run at the same time on an iPad. The DragSource app contains different types... #ios11"
description: "There are two app projects in this sample, intended to be run at the same time on an iPad. The DragSource app contains different types... (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-draganddropmastering
---
# Mastering Drag and Drop in iOS 11
@ -19,7 +22,3 @@ Swift sample available from [WWDC 2017 Mastering Drag and Drop](https://develope
## License
Xamarin port changes are released under the MIT license
## Author
Ported to Xamarin.iOS by Kevin Mullins, Amy Burns

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Drag and Drop TableView Example
description: "Demo of the new iOS 11 Drag and Drop feature using for a UITableView Test this app on an iPad - the drag and drop functionality... #ios11"
description: "Demo of the new iOS 11 Drag and Drop feature using for a UITableView Test this app on an iPad - the drag and drop functionality... (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-draganddroptableview
---
# Drag and Drop TableView Example
@ -19,7 +22,3 @@ Test this app on an iPad - the drag and drop functionality does not work on iPho
## License
Xamarin port changes are released under the MIT license
## Author
Ported to Xamarin.iOS by Craig Dunn

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Adding Realistic Reflections to an AR Experience
description: "Use ARKit to generate environment probe textures from camera imagery and render reflective virtual objects #ios11"
description: "Use ARKit to generate environment probe textures from camera imagery and render reflective virtual objects (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-environmenttexturing
---
# Adding Realistic Reflections to an AR Experience
@ -28,7 +31,3 @@ Xamarin.iOS 12.0, Xcode 10.0 and two or more iOS devices with A9 or later proces
## License
Xamarin port changes are released under the MIT license.
## Author
Ported to Xamarin.iOS by Mykyta Bondarenko

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Even/Odd Number Drag
description: "Demonstrates how to use the iOS 11 Drag and Drop APIs within a single iPhone app. The app shows a number in the middle of the screen... #ios11"
description: "Demonstrates how to use the iOS 11 Drag and Drop APIs within a single iPhone app. The app shows a number in the middle of the screen... (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-evenoddnumberdrag
---
# Even/Odd Number Drag
@ -21,7 +24,3 @@ To test this sample you'll need to run it on a device/simulator running
iOS 11.
![Dragging numbers](Screenshots/EvenOddNumberDrag.gif)
## Author
Brad Umbaugh

Просмотреть файл

@ -1,22 +1,25 @@
---
name: Xamarin.iOS - Local Authentication using Face ID or Touch ID
description: "Demonstrates how to use Face ID and Touch ID to authenticate the user. Refer to the Introduction to Touch ID guide #ios11"
description: "Demonstrates how to use Face ID and Touch ID to authenticate the user. Refer to the Introduction to Touch ID guide (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-faceidsample
---
# Local Authentication using Face ID or Touch ID
Demonstrates how to use Face ID and Touch ID to authenticate the user.
Refer to the [Introduction to Touch ID](https://developer.xamarin.com/guides/ios/platform_features/introduction_to_touchid/) guide.
Refer to the [Introduction to Touch ID](https://docs.microsoft.com/en-us/xamarin/ios/platform/touchid) guide.
![iPhone X showing Face ID processing](Screenshots/faceid-sml.png)
## See Also
* [KeychainTouchID Sample](https://developer.xamarin.com/samples/monotouch/ios8/KeychainTouchID/) – for accesing the Keychain
* [iOS 8 Local Authentication Sample](https://github.com/xamarin/ios-samples/tree/master/StoryboardTable_LocalAuthentication) - deprecated by this iOS 11 sample
* [KeychainTouchID Sample](https://developer.xamarin.com/samples/monotouch/ios8/KeychainTouchID) – for accesing the Keychain
* [iOS 8 Local Authentication Sample](https://github.com/xamarin/ios-samples/tree/master/StoryboardTable_LocalAuthentication) - deprecated by this iOS 11 sample

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Large Titles support
description: "This sample demonstrates how to enable large titles in the navbar of iOS 11 applications #ios11"
description: "This sample demonstrates how to enable large titles in the navbar of iOS 11 applications (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-largetitlessample
---
# Large Titles support
@ -14,11 +17,6 @@ This sample demonstrates how to enable large titles in the navbar of iOS 11 appl
![large titles with appearance](Screenshots/largetitle-sample-sml.png)
## License
MIT license
## Author
Craig Dunn

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - MapKit Sample "Tandm"
description: "Demo of new iOS 11 features in MapKit, grouping and splitting markers based on zoom-level. Tandm is a fictional bike sharing... #ios11"
description: "Demo of new iOS 11 features in MapKit, grouping and splitting markers based on zoom-level. Tandm is a fictional bike sharing... (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-mapkitsample
---
# MapKit Sample "Tandm"
@ -24,7 +27,3 @@ Xcode 9.0 or later; iOS 11.0 SDK or later
## License
Xamarin port changes are released under the MIT license
## Author
Ported to Xamarin.iOS by Kevin Mullins

Просмотреть файл

@ -1,23 +1,22 @@
---
name: Xamarin.iOS - MusicKitSample
description: "MusicKit on iOS lets users play Apple Music and their local music library natively from your apps and games #ios11"
description: "MusicKit on iOS lets users play Apple Music and their local music library natively from your apps and games (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-musickitsample
---
# MusicKitSample
MusicKit on iOS lets users play Apple Music and their local music library natively from your apps and games. When a user provides permission to their Apple Music account, your app can create playlists, add songs to their library, and play any of the millions of songs in the Apple Music catalog. If your app detects that the user is not yet an Apple Music member, you can offer a trial from within your app.
![MusicKitSample application screenshot](Screenshots/Authorize.png "MusicKitSample application screenshot")
## License
Xamarin port changes are released under the MIT license.
![MusicKitSample application screenshot](Screenshots/Authorize.png "MusicKitSample application screenshot")
## Author
Ported to Xamarin.iOS by Israel Soto.

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - NFCTagReader
description: "How to integrate Core NFC Framework into your application to enable NFC tag reading. Overview Core NFC provides NFC tag reading #ios11"
description: "How to integrate Core NFC Framework into your application to enable NFC tag reading. Overview Core NFC provides NFC tag reading (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-nfctagreader
---
# NFCTagReader

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - PDFAnnotationWidgets
description: "Demo of iOS 11 features in PDFKit, adding input fields to a PDF document #ios11"
description: "Demo of iOS 11 features in PDFKit, adding input fields to a PDF document (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-pdfannotationwidgetsadvanced
---
# PDFAnnotationWidgets
@ -14,11 +17,6 @@ This sample is a demo of iOS 11 features in PDFKit, adding input fields to a PDF
![simulator showing editable PDF document](Screenshots/01.png)
## License
Xamarin port changes are released under the MIT license
## Author
Ported to Xamarin.iOS by Kevin Mullins

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - PDFDocumentWatermark
description: "Demo of iOS 11 features in PDFKit, adding a watermark to a PDF document #ios11"
description: "Demo of iOS 11 features in PDFKit, adding a watermark to a PDF document (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-pdfdocumentwatermark
---
# PDFDocumentWatermark
@ -14,11 +17,6 @@ This sample is a demo of iOS 11 features in PDFKit, adding a watermark to a PDF
![simulator showing PDF watermark](Screenshots/01-sml.png)
## License
Xamarin port changes are released under the MIT license
## Author
Ported to Xamarin.iOS by Kevin Mullins, Larry O'Brien

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - SamplePhotoApp
description: "A basic Photos-like app to demonstrate the Photos framework. Lists albums and built-in collections (Recently Added, Favorites, etc) #ios11"
description: "A basic Photos-like app to demonstrate the Photos framework. Lists albums and built-in collections (Recently Added, Favorites, etc) (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-samplephotoapp
---
# SamplePhotoApp
@ -38,10 +41,6 @@ iOS 11.0, tvOS 11.0, or later
[Original sample](https://developer.apple.com/library/ios/samplecode/UsingPhotosFramework/Introduction/Intro.html)
## Copyright
## License
Xamarin port changes are released under the MIT license
## Author
Ported to Xamarin.iOS by Oleg Demchenko, Rustam Zaitov, and Matthew Leibowitz

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - SiriKit Sample "TasksNotes"
description: "This sample is a demo of the new iOS 11 SiriKit domain Lists and Notes. It also uses the Alternative App Name Info.plist setting #ios11"
description: "This sample is a demo of the new iOS 11 SiriKit domain Lists and Notes. It also uses the Alternative App Name Info.plist setting (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-sirikitsample
---
# SiriKit Sample "TasksNotes"
@ -14,11 +17,6 @@ This sample is a demo of the new iOS 11 SiriKit domain _Lists and Notes_. It als
![create task list example](Screenshots/CreateTaskList-sml.png) ![set task to complete example](Screenshots/SetTaskAttribute-sml.png)
## License
Code is released under the MIT license
## Author
Craig Dunn

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Vision Face Detection Example
description: "Demo of the new iOS 11 Vision framework. It detects faces; use the sample photos in the TestImages directory to give it a try... #ios11"
description: "Demo of the new iOS 11 Vision framework. It detects faces; use the sample photos in the TestImages directory to give it a try... (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-visionfaces
---
# Vision Face Detection Example
@ -15,8 +18,3 @@ This sample is a demo of the new iOS 11 Vision framework.
![detecting faces in a photo](Screenshots/found-faces-sml.png)
It detects faces; use the sample photos in the **TestImages** directory to give it a try (drag them onto the simulator or upload to your device, and **Choose Image...**).
## Author
Craig Dunn

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Tracking Objects Example
description: "Demonstrates the rectangle and object-tracking capability of iOS 11's Vision namespace. These capabilities rely on a live video feed... #ios11"
description: "Demonstrates the rectangle and object-tracking capability of iOS 11's Vision namespace. These capabilities rely on a live video feed... (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-visionobjecttracker
---
# Tracking Objects Example
@ -16,11 +19,6 @@ This program demonstrates the rectangle and object-tracking capability of iOS 11
After requesting access to the Camera, this application shows a live video feed, as well as a thumbnail of frames being sent to the Vision namespace. The thumbnail shows the results of the image-processing pipeline and is helpful for developers who modify the `VideoCaptureDelegate.CroppedSampleBuffer` method to remove or enhance edge detection or see if it's useful to try other techniques such as dilation, contrast enhancement, thresholding, and so forth.
The app first runs in a "scanning" mode, when it is detecting rectangles. Detected rectangles are outlined in blue. Touch inside a detected rectangle to activate "tracking" mode. In this mode, the tracked rectangle's bounding box is outlined in either green, yellow, or red, depending upon the confidence of the Vision namespace. (Note that this uses `VNDetectedObjectObservation` observations rather than `VNRectangleObservation` observations, which seem to be more "fragile" in terms of tracking.)
The app first runs in a "scanning" mode, when it is detecting rectangles. Detected rectangles are outlined in blue. Touch inside a detected rectangle to activate "tracking" mode. In this mode, the tracked rectangle's bounding box is outlined in either green, yellow, or red, depending upon the confidence of the Vision namespace. (Note that this uses `VNDetectedObjectObservation` observations rather than `VNRectangleObservation` observations, which seem to be more "fragile" in terms of tracking.)
You'll notice that "tracking" mode isn't noticeably faster or more accurate than "scanning" mode. What tracking _does_ provide is the same object identity over subsequent frames which you can access via the [VNObservation.Uuid](https://developer.xamarin.com/api/property/Vision.VNObservation.Uuid/) property.
## Author
Larry O'Brien
You'll notice that "tracking" mode isn't noticeably faster or more accurate than "scanning" mode. What tracking _does_ provide is the same object identity over subsequent frames which you can access via the [VNObservation.Uuid](https://developer.xamarin.com/api/property/Vision.VNObservation.Uuid/) property.

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Vision Rectangle Detection Example
description: "Demo of the new iOS 11 Vision framework. It detects rectangles; use the sample photos in the TestImages directory to give it a try... #ios11"
description: "Demo of the new iOS 11 Vision framework. It detects rectangles; use the sample photos in the TestImages directory to give it a try... (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-visionrectangles
---
# Vision Rectangle Detection Example
@ -15,8 +18,3 @@ This sample is a demo of the new iOS 11 Vision framework.
![detecting rectangles in a photo](Screenshots/found-rectangles-sml.png)
It detects rectangles; use the sample photos in the **TestImages** directory to give it a try (drag them onto the simulator or upload to your device, and **Choose Image...**).
## Author
Craig Dunn

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Building a Simple Widget for the Today View
description: "This sample code builds a weather app that displays a simple five-day weather forecast using a horizontally paging collection view #ios11"
description: "This sample code builds a weather app that displays a simple five-day weather forecast using a horizontally paging collection view (iOS11)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios11
urlFragment: ios11-weatherwidget
---
# Building a Simple Widget for the Today View
@ -26,7 +29,3 @@ Xamarin.iOS 11.3+ and Xcode 10.0+.
## License
Xamarin port changes are released under the MIT license.
## Author
Ported to Xamarin.iOS by Mykyta Bondarenko

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Vision in Real Time with ARKit
description: "Manage Vision resources for efficient execution of a Core ML image classifier, and use SpriteKit to display image classifier output in AR #ios12"
description: "Manage Vision resources for efficient execution of a Core ML image classifier, and use SpriteKit to display image classifier output in AR (iOS12)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios12
urlFragment: ios12-arkitvision
---
# Vision in Real Time with ARKit
@ -22,14 +25,10 @@ Xamarin.iOS 11.0, Xcode 9.0 and a device with an A9 (or later) processor
- [Original sample](https://developer.apple.com/documentation/arkit/using_vision_in_real_time_with_arkit?language=objc)
- Documentation:
- https://developer.apple.com/documentation/arkit
- https://developer.apple.com/documentation/vision
- https://developer.apple.com/documentation/coreml
- https://developer.apple.com/documentation/arkit
- https://developer.apple.com/documentation/vision
- https://developer.apple.com/documentation/coreml
## License
Xamarin port changes are released under the MIT license.
## Author
Ported to Xamarin.iOS by Mykyta Bondarenko

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Breakfast Finder
description: "A C# port of Apple's Recognizing Objects in Live Capture sample app. It demonstrates how to use the Vision framework and Core ML #ios12"
description: "A C# port of Apple's Recognizing Objects in Live Capture sample app. It demonstrates how to use the Vision framework and Core ML (iOS12)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios12
urlFragment: ios12-breakfastfinder
---
# Breakfast Finder
@ -21,7 +24,8 @@ recognize objects in live video.
## Usage
**Note**: This sample will not run a simulator. It must be run on a physical
> [!NOTE]
> This sample will not run a simulator. It must be run on a physical
device running iOS 12 or later.
- Start the app, which opens a camera view.
@ -31,8 +35,5 @@ coffee, an egg, a banana, a waffle, or a croissant.
in the live video.
## License
Xamarin port changes are released under the MIT license.
## Author
Ported to Xamarin.iOS by Brad Umbaugh

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Delivering an Exceptional Accessibility Experience
description: "Make improvements to your apps interaction model to support assistive technologies such as VoiceOver. To see the sample app in action... #ios12"
description: "Make improvements to your apps interaction model to support assistive technologies such as VoiceOver. To see the sample app in action... (iOS12)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios12
urlFragment: ios12-exceptionalaccessibility
---
# Delivering an Exceptional Accessibility Experience
@ -28,7 +31,3 @@ Xamarin.iOS 12.0+ and Xcode 10.0+.
## License
Xamarin port changes are released under the MIT license.
## Author
Ported to Xamarin.iOS by Mykyta Bondarenko

Просмотреть файл

@ -1,24 +1,27 @@
---
name: Xamarin.iOS - Grouped Notifications
description: "This sample app demonstrates how to use the User Notifications framework to group notifications by their thread identifiers... #ios12"
description: "This sample app demonstrates how to use the User Notifications framework to group notifications by their thread identifiers... (iOS12)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios12
urlFragment: ios12-groupednotifications
---
# Grouped Notifications
This sample app demonstrates how to use the User Notifications framework
to group notifications by their thread identifiers, a new feature
to group notifications by their thread identifiers, a new feature
introduced in iOS 12 to make it easier for users to work with notifications.
![Example grouped and expanded notifications](Screenshots/all-sml.png)
## Usage
To use the app:
To use the app:
- Tap the **Message with Alice** button a few times.
- Tap the **Choose a new friend** button.
@ -35,8 +38,5 @@ by swiping down from the top of the device. You will see:
notifications not assigned to a specific thread)
## License
Code is released under the MIT license
## Author
Brad Umbaugh

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - MarsHabitatCoreMLTimer
description: "Use the MarsHabitatPricer Core ML model from Apple's Integrating a Core ML Model to demonstrate the performance... #ios12"
description: "Use the MarsHabitatPricer Core ML model from Apple's Integrating a Core ML Model to demonstrate the performance... (iOS12)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios12
urlFragment: ios12-marshabitatcoremltimer
---
# MarsHabitatCoreMLTimer
@ -19,7 +22,5 @@ prediction API.
![batch processing timer](Screenshots/complete-sml.png)
## License
Code is released under the MIT license
## Author
Brad Umbaugh
Code is released under the MIT license

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Integrating a Core ML Model into Your App
description: "Add a simple model to an app, pass input data to the model, and process the model's predictions. This app uses a trained model #ios12"
description: "Add a simple model to an app, pass input data to the model, and process the model's predictions. This app uses a trained model (iOS12)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios12
urlFragment: ios12-marshabitatpricepredictor
---
# Integrating a Core ML Model into Your App
@ -25,7 +28,3 @@ Xamarin.iOS 11.0 and Xcode 9.0.
## License
Xamarin port changes are released under the MIT license.
## Author
Ported to Xamarin.iOS by Mykyta Bondarenko

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Red & Green Notifications
description: "iOS 12 introduced various notification-related features, including Provisional notifications, Notification management features... #ios12"
description: "iOS 12 introduced various notification-related features, including Provisional notifications, Notification management features... (iOS12)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios12
urlFragment: ios12-redgreennotifications
---
# Red & Green Notifications
@ -60,10 +63,6 @@ it from Notification Center, and launch the app.
Green Notifications app, and tap **Red & Green Notifications Notification Settings**
to jump to the in-app custom notification management screen.
## License
Code is released under the MIT license
## Author
Brad Umbaugh

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Scanning App
description: "This is a port of the Apple sample Scanning and Detecting 3D Objects. The architecture and code design of the app follows the Swift app #ios12"
description: "This is a port of the Apple sample Scanning and Detecting 3D Objects. The architecture and code design of the app follows the Swift app (iOS12)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios12
urlFragment: ios12-scanninganddetecting3dobjects
---
# Scanning App
@ -14,19 +17,19 @@ This is a port of the Apple sample [Scanning and Detecting 3D Objects](https://d
This sample requires a device that supports ARKit's "object scanning" configuration (`ARObjectScanningConfiguration`). This configuration is processor-intensive and may not be supported or may not produce adequate tracking on older hardware. This configuration also "disables ARKit features not necessary for reference object scanning," and should only be used for, essentially, the use-case embodied in this app.
The app is used by developers to scan a real-world object to create an `ARReferenceObject` definition that can be saved to a file and used in end-user mixed-reality apps (for instance, recognizing a sculpture or factory-floor machine).
The app is used by developers to scan a real-world object to create an `ARReferenceObject` definition that can be saved to a file and used in end-user mixed-reality apps (for instance, recognizing a sculpture or factory-floor machine).
## Usage
After ARKit initializes, a "ghost" bounding box will appear and try to fit around any object that is in the middle of the screen. Use pinch, pan, and two-finger pan to adjust the size of the bounding box until it is sufficient to encompass the scanned object. Points will appear within the bounding box, showing how well the object is being detected.
After ARKit initializes, a "ghost" bounding box will appear and try to fit around any object that is in the middle of the screen. Use pinch, pan, and two-finger pan to adjust the size of the bounding box until it is sufficient to encompass the scanned object. Points will appear within the bounding box, showing how well the object is being detected.
![Defining the bounding box](screenshots/image1.png)
When the bounding box fully encloses your object, press "Scan" to begin scanning. Move the camera around the bounding box. As the scan retrieves sufficient points, the corresponding area on the bounding box will be covered with a translucent panel.
When the bounding box fully encloses your object, press "Scan" to begin scanning. Move the camera around the bounding box. As the scan retrieves sufficient points, the corresponding area on the bounding box will be covered with a translucent panel.
![Scanning](screenshots/image2.png)
Once you've scanned the object from all sides horizontally and from the top, a set of axes will appear. Drag this with your finger to set the origin (within the bounding box) that you wish for your reference object. Press "Test" and a new AR session will begin, looking for your just-created `ARReferenceObject`. Move the object around, light it differently, etc. When the object is recognized, a bounding box will appear.
Once you've scanned the object from all sides horizontally and from the top, a set of axes will appear. Drag this with your finger to set the origin (within the bounding box) that you wish for your reference object. Press "Test" and a new AR session will begin, looking for your just-created `ARReferenceObject`. Move the object around, light it differently, etc. When the object is recognized, a bounding box will appear.
![Testing](screenshots/image4.png)
@ -35,59 +38,67 @@ Press "Share" to save the `ARReferenceObject` to a file that can be used in your
## Notes
### Manual resource management in ARKit and SceneKit apps
In ARKit, it's crucial to manually manage resources. Not only does this allow high frame-rates, it actually is _necessary_ to avoid a confusing "screen freeze." The ARKit framework is lazy about supplying a new camera frame (`ARSession.CurrentFrame`). Until the current `ARFrame` has had `Dispose()` called on it, ARKit will not supply a new frame! This has the appearance of the video "freezing" even though the rest of the app is responsive. The solution is to always access it with a `using` block (see `ViewControllerSCNViewDelegate.Update` in this example) or manually call `Dispose()` on it.
Beyond the `ARSession.CurrentFrame`, the major resource that needs to be managed carefully in this app are instances of `PointCloud`. This is a visualization of the raw feature points being sensed by ARKit. While this is not called _every_ frame, it's called often enough that it would lead to significant memory consumption. You'll note that prior to the factory method `PointCloud.CreateVisualization` is called, the app takes care to call `Dispose()` on the current `PointCloud`.
Beyond the `ARSession.CurrentFrame`, the major resource that needs to be managed carefully in this app are instances of `PointCloud`. This is a visualization of the raw feature points being sensed by ARKit. While this is not called _every_ frame, it's called often enough that it would lead to significant memory consumption. You'll note that prior to the factory method `PointCloud.CreateVisualization` is called, the app takes care to call `Dispose()` on the current `PointCloud`.
Another complex use of `Dispose()` relates to notifications. The Apple design uses the Observer pattern to subscribe to various state changes (e.g., `NSNotificationCenter.DefaultCenter.AddObserver(Scan.ScanningStateChangedNotificationName, ScanningStateChanged);` ). You _must_ unsubscribe from such observations while `Dispose()`ing your object or you will get a segfault when the system attempts to alert your now-deallocated object of the notification. The pattern is simple:
Another complex use of `Dispose()` relates to notifications. The Apple design uses the Observer pattern to subscribe to various state changes (e.g., `NSNotificationCenter.DefaultCenter.AddObserver(Scan.ScanningStateChangedNotificationName, ScanningStateChanged);` ). You _must_ unsubscribe from such observations while `Dispose()`ing your object or you will get a segfault when the system attempts to alert your now-deallocated object of the notification. The pattern is simple:
class MyClass : NSObject
```csharp
class MyClass : NSObject
{
private NSObject notificationObservationHandle;
MyClass()
{
private NSObject notificationObservationHandle;
notificationObservationHandle = NSNotificationCenter.DefaultCenter.AddObserver(notificationName, NotificationHandler);
}
MyClass()
{
notificationObservationHandle = NSNotificationCenter.DefaultCenter.AddObserver(notificationName, NotificationHandler);
}
private bool disposed = false;
override protected void Dispose(bool disposing)
private bool disposed = false;
override protected void Dispose(bool disposing)
{
if (!disposed)
{
if (!disposed)
if (disposing)
{
if (disposing)
{
NSNotificationCenter.DefaultCenter.RemoveObserver(notificationObserverHandle);
}
disposed = true;
base.Dispose();
NSNotificationCenter.DefaultCenter.RemoveObserver(notificationObserverHandle);
}
disposed = true;
base.Dispose();
}
}
}
```
Note that when implementing the `Dispose` pattern in Xamarin, you must set `disposed = true` prior to calling `base.Dispose()` in objects that are derived from `NSObject`. Xamarin's implementation of `NSObject.Dispose()` calls `Dispose(true)`, which will cause the stack to overflow if `disposed` is not already set.
Related: There are more shared references within the Swift code than I'd prefer, so I tried to convert as many as possible into properties with `private` setters.
### Fast, unsafe code to create `PointCloud`
Because the `PointCloud` is a short-lived object reflecting complex geometry (the raw feature points that ARKit is seeing within the target bounding box), I use `unsafe` code to create it directly from an `NVector3` array rather than loop over each `NVector3`, allocate an `SCNSphere` for that point, add that sphere to the current `SCNNode` etc.
The `PointCloud.CreateVisualization` combines two techniques to create complex `SCNGeometry` as quickly as possible: first, the array is pinned and accessed as an `NSData` byte buffer. Second, a template `SCNGeometryElement` is created and the data buffer and the template are "zipped together" using `SCNGeometry.Create(SCNGeometrySource[], SCNGeometryElement[])`.
This is a good technique to have in your toolkit.
This is a good technique to have in your toolkit.
### The threshold-aware gestures are nice
The gestures for moving and rotating the bounding box and origin only respond to touches that have either moved or rotated more than some threshold amount. The code in `ThresholdPanGestureRecognizer`, `ThresholdPinchGestureRecognizer` and `ThresholdRotationGestureRecognizer` should be quite reusable.
### Matrix types and performance
In any 3D application, you're going to be dealing with 4x4 transformation matrices. In SceneKit, these are `SCNMatrix4` objects.
The `SCNNode.Transform` property returns the `SCNMatrix4` transform matrix for the `SCNNode` _as backed by_ the row-major `simdfloat4x4` type. So, for instance:
The `SCNNode.Transform` property returns the `SCNMatrix4` transform matrix for the `SCNNode` _as backed by_ the row-major `simdfloat4x4` type. So, for instance:
var node = new SCNNode { Position = new SCNVector3(2, 3, 4) };
var xform = node.Transform;
Console.WriteLine(xform);
// Output is: "(1, 0, 0, 0)\n(0, 1, 0, 0)\n(0, 0, 1, 0)\n(2, 3, 4, 1)"
```csharp
var node = new SCNNode { Position = new SCNVector3(2, 3, 4) };
var xform = node.Transform;
Console.WriteLine(xform);
// Output is: "(1, 0, 0, 0)\n(0, 1, 0, 0)\n(0, 0, 1, 0)\n(2, 3, 4, 1)"
```
As you can see, the position is encoded in the bottom row's first 3 elements. This might be transposed (sideways) to your expectations. The functions `SCNMatrix4 ToSCNMatrix4(this NMatrix4 self)` and `NMatrix4 ToNMatrix4(this SCNMatrix4 self)` use the `M{col}{row}` fields to assure the values are proper, so that's fine, but there _is_ a small performance cost to changing the representation, so avoid needless conversions.
@ -102,40 +113,44 @@ To avoid this, we added the `ScannedObject.LockBoundingBoxForReferenceObjectCrea
An alternate possibility would be to re-acquire the reference in the `CreateReferenceObject` handler (i.e., rather than pass in `boundingBox` make another call to `ScannedObject.EitherBoundingBox`) but Im not sure if there are no consequences to the reference changing during the asynch period of `CreateReferenceObject()`.
### SimpleBox<T>
The class `SimpleBox` is used to wrap .NET value objects in an `NSObject` that can be stored in iOS `NSDictionary` objects and used in the payload for `NSNotification` objects. It is helpful but should be used sparingly, as it will cause Ahead-of-Time compilation (AoT) to generate at compile-time the variations for all the different values of `T`.
The class `SimpleBox` is used to wrap .NET value objects in an `NSObject` that can be stored in iOS `NSDictionary` objects and used in the payload for `NSNotification` objects. It is helpful but should be used sparingly, as it will cause Ahead-of-Time compilation (AoT) to generate at compile-time the variations for all the different values of `T`.
### Classes in the `Controllers` directory
The Swift code uses five files to organize the behavior of the single class `ViewController`. In C# these would be called "partial classes." I put the code in different classes, as this makes it easier to reason about the state and responsibilities of each individual class.
The Swift code uses five files to organize the behavior of the single class `ViewController`. In C# these would be called "partial classes." I put the code in different classes, as this makes it easier to reason about the state and responsibilities of each individual class.
### Minor structural differences
I occasionally refactored the Swift code where I thought it helped legibility or reduced repetition. Usually this was in the form of extracting a function.
I occasionally refactored the Swift code where I thought it helped legibility or reduced repetition. Usually this was in the form of extracting a function.
One area where there is considerably variance from the Swift code is in the "Utility_Extensions" folder. Xamarin.iOS uses OpenTK vector and matrix classes for manipulating 3D objects and transforms. The OpenTK classes have different APIs and
A matter of internal debate was the clearest form for porting Swift `guard` statements that assign a local variable if the passed-in variable is not `null`. The options are:
* Explicit check and branch :
- Explicit check and branch :
var someReference = passedInReference as TargetType;
if (someReference == null)
{
return;
}
// ... use someReference
```csharp
var someReference = passedInReference as TargetType;
if (someReference == null)
{
return;
}
// ... use someReference
```
* Pattern match:
- Pattern match:
if (! passedInReference is TargetType someReference)
{
return;
}
// ... use someReference
```csharp
if (! passedInReference is TargetType someReference)
{
return;
}
// ... use someReference
```
I chose to use the former solely because the pattern matching form is still relatively new and therefore might be less familiar to some developers.
## License
Xamarin port changes are released under the MIT license.
## Author
Ported to Xamarin.iOS by Larry O'Brien

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Soup Chef
description: "This is a Xamarin port of Apple's Soup Chef sample. It demonstrates how to create an app that makes use of Siri Shortcuts #ios12"
description: "This is a Xamarin port of Apple's Soup Chef sample. It demonstrates how to create an app that makes use of Siri Shortcuts (iOS12)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios12
urlFragment: ios12-soupchef
---
# Soup Chef
@ -27,7 +30,7 @@ To use the app, set up an order and assign it a voice shortcut:
- Click the **+** button in the upper-right, and create a new soup order.
- After creating the order, it will appear on the **Order History** screen
in the app. Select the order, then tap **Add to Siri** on the bottom of the
screen.
screen.
- Record a phrase to use to make the same order again in the future with
Siri. For example, for an order that contains two bowls of chowder with
cheese, you might specify, "Order two bowls of chowder with cheese."
@ -105,19 +108,19 @@ bindings definitions build as expected:
the tool used to generate bindings definitions from the .h and .m files
created by Xcode.
- Configure your system to use Xcode 10 Command Line Tools:
- WARNING: Updating the selected Command Line Tools impacts all
- WARNING: Updating the selected Command Line Tools impacts all
installed versions of Xcode on your system. When you are done using the
Soup Chef sample app, be sure to revert this setting to its original
configuration.
- In Xcode, choose **Xcode > Preferences > Locations** and set
- In Xcode, choose **Xcode > Preferences > Locations** and set
**Command Line Tools** to the most current Xcode 10 installation
available on your system.
- In the terminal, `cd` to the **OrderSoupIntentStaticLib** directory.
- Type `make`, which builds:
- The static library, **libOrderSoupIntentStaticLib.a**
- In the **bo** output directory, C# bindings definitions:
- **ApiDefinitions.cs**
- **StructsAndEnums.cs**
- The static library, **libOrderSoupIntentStaticLib.a**
- In the **bo** output directory, C# bindings definitions:
- **ApiDefinitions.cs**
- **StructsAndEnums.cs**
The **OrderSoupIntentBindings** project, which relies on this static library
and its associated bindings definitions, builds these items automatically.
@ -266,13 +269,10 @@ with the Swift-based app.
- After successfully completing an order made via voice, Siri does not
report back the success message defined by the **Intents.intentdefinition**
file.
file.
- There is a persistent warning in the application console: "Warning:
observer object was not disposed manually with Dispose()"
## License
Xamarin port changes are released under the MIT license.
## Author
Ported to Xamarin.iOS by Brad Umbaugh

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - Tracking Multiple Objects or Rectangles in Video
description: "Demonstrates how to apply Vision algorithms to track objects or rectangles throughout a video #ios12"
description: "Demonstrates how to apply Vision algorithms to track objects or rectangles throughout a video (iOS12)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios12
urlFragment: ios12-visionobjecttrack
---
# Tracking Multiple Objects or Rectangles in Video
@ -26,7 +29,3 @@ Xamarin.iOS 12.0 or later; Xcode 10.0 or later;
## License
Xamarin port changes are released under the MIT license.
## Author
Ported to Xamarin.iOS by Mykyta Bondarenko

Просмотреть файл

@ -1,11 +1,14 @@
---
name: Xamarin.iOS - XamarinNL
description: "Demonstrates how to use Apple's Natural Language framework to recognize languages, tokenize text into words and sentences, and tag... #ios12"
description: "Demonstrates how to use Apple's Natural Language framework to recognize languages, tokenize text into words and sentences, and tag... (iOS12)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios12
urlFragment: ios12-xamarinnl
---
# XamarinNL
@ -17,7 +20,5 @@ tag named entities and parts of speech in a body of text.
![Examples of natural language parsing](Screenshots/all-sml.png)
## License
Code is released under the MIT license
## Author
Brad Umbaugh
Code is released under the MIT license

Просмотреть файл

@ -1,11 +1,14 @@
---
name: 'Xamarin.iOS - XamarinShot: Creating a Game for Augmented Reality'
description: "XamarinShot is an AR game for two to six players, featured in the WWDC18 keynote. Use this sample project to experience it on your device... #ios12"
description: "XamarinShot is an AR game for two to six players, featured in the WWDC18 keynote. Use this sample project to experience it on your device... (iOS12)"
page_type: sample
languages:
- csharp
products:
- xamarin
extensions:
tags:
- ios12
urlFragment: ios12-xamarinshot
---
# XamarinShot: Creating a Game for Augmented Reality
@ -25,7 +28,3 @@ Xamarin.iOS 12.0, Xcode 10.0 and an iOS device with A9 or later processor. ARKit
## License
Xamarin port changes are released under the MIT license.
## Author
Ported to Xamarin.iOS by Mykyta Bondarenko