From a44dcda7d8d46253df6b87758fc9ffc3bc82cec9 Mon Sep 17 00:00:00 2001 From: Miguel de Icaza Date: Mon, 16 Mar 2015 00:35:58 -0400 Subject: [PATCH] Fix README.md files to be readable without a web browser --- ios8/CloudKitAtlas/README.md | 40 +++++++++---- ios8/Fit/README.md | 21 +++++-- ios8/KeychainTouchID/README.md | 8 ++- ios8/Lister/README.md | 89 ++++++++++++++++++++++------- ios8/LookInside/README.md | 67 ++++++++++++++++++---- ios8/MetalBasic3D/README.md | 8 ++- ios8/MetalImageProcessing/README.md | 5 +- ios8/MotionActivityDemo/README.md | 5 +- 8 files changed, 191 insertions(+), 52 deletions(-) diff --git a/ios8/CloudKitAtlas/README.md b/ios8/CloudKitAtlas/README.md index a50196c4c..c79794632 100644 --- a/ios8/CloudKitAtlas/README.md +++ b/ios8/CloudKitAtlas/README.md @@ -1,22 +1,38 @@ CloudKitAtlas ====================== -CloudKitAtlas is a sample intended as a quick introduction to CloudKit. It teaches you how to use Discoverability to get the first name and last name of the user logged into iCloud. It can add a CKRecord with a location and query for CKRecords near a location. You can upload and retrieve images as CKAssets. It also shows how to use CKReferences. Finally, it also shows how to use CKSubscription to get push notifications when a new item is added for a record type. +CloudKitAtlas is a sample intended as a quick introduction to +CloudKit. It teaches you how to use Discoverability to get the first +name and last name of the user logged into iCloud. It can add a +CKRecord with a location and query for CKRecords near a location. You +can upload and retrieve images as CKAssets. It also shows how to use +CKReferences. Finally, it also shows how to use CKSubscription to get +push notifications when a new item is added for a record type. ## Setting up sample -To run this sample you need to have an app ID with CloudKit entitlements enabled and provisioning profile linked to it. -If you don't have one please go to https://developer.apple.com/membercenter/index.action, select "Certificates, Identifiers & Profiles" and use the following instructions. +To run this sample you need to have an app ID with CloudKit +entitlements enabled and provisioning profile linked to it. If you +don't have one please go to +https://developer.apple.com/membercenter/index.action, select +"Certificates, Identifiers & Profiles" and use the following +instructions. + +First of all, you should create an app ID. To do that, select "App +ID's" in "Identifiers" section and then press add button at top-right +corner of the screen. -First of all, you should create an app ID. -To do that, select "App ID's" in "Identifiers" section and then press add button at top-right corner of the screen. * Enter app ID description, e.g.: "CloudKit Atlas sample" -* Select "Explicit App ID" in App ID Suffix and enter bundle ID, e.g.: com.yourcompanyname.CloudKitAtlas +* Select "Explicit App ID" in App ID Suffix and enter bundle ID, e.g.: + com.yourcompanyname.CloudKitAtlas * In App Services services section select iCloud, Include CloudKit support * Then press Continue button and check that everything is alright * Press Submit -On the second step we should create provisioning profile linked to newly created app ID. Select "All" in "Provisioning Profiles" section and then press add button at top-right corner of the screen. +On the second step we should create provisioning profile linked to +newly created app ID. Select "All" in "Provisioning Profiles" section +and then press add button at top-right corner of the screen. + * Select "iOS App Development" and press Continue button * Select newly created app ID in drop down list and press Continue button * Then select your team members and press Continue button @@ -25,9 +41,13 @@ On the second step we should create provisioning profile linked to newly created * Download provisioning profile and then double click it to install Finally, open sample in Xamarin Studio and open project settings. -* Set bundle identifier in "iOS Application" section and select provisioning profile created earlier in "iOS Bundle Signing". -* Close project's options and select Entitlements.plist in project explorer then nable iCloud and check the CloudKit option. -* Make sure you are signed into your iCloud account in the simulator or device before running the app. + +* Set bundle identifier in "iOS Application" section and select + provisioning profile created earlier in "iOS Bundle Signing". +* Close project's options and select Entitlements.plist in project + explorer then nable iCloud and check the CloudKit option. +* Make sure you are signed into your iCloud account in the simulator + or device before running the app. Author ====== diff --git a/ios8/Fit/README.md b/ios8/Fit/README.md index e0ae29024..513e64683 100644 --- a/ios8/Fit/README.md +++ b/ios8/Fit/README.md @@ -1,15 +1,28 @@ Fit: Store and Retrieve HealthKit Data ====================================== -Fit is a sample intended as a quick introduction to HealthKit. It teaches you everything from writing data into HealthKit to reading data from HealthKit. This information may have been entered into the store by some other app; e.g. a user's birthday may have been entered into Health, and a user's weight by some popular weight tracker app. +Fit is a sample intended as a quick introduction to HealthKit. It +teaches you everything from writing data into HealthKit to reading +data from HealthKit. This information may have been entered into the +store by some other app; e.g. a user's birthday may have been entered +into Health, and a user's weight by some popular weight tracker app. -Fit shows examples of using queries to retrieve information from HealthKit using sample queries and statistics queries. Fit gives you a quick introduction into using the new Foundation classes NSLengthFormatter, NSMassFormatter, and NSEnergyFormatter. +Fit shows examples of using queries to retrieve information from +HealthKit using sample queries and statistics queries. Fit gives you a +quick introduction into using the new Foundation classes +NSLengthFormatter, NSMassFormatter, and NSEnergyFormatter. Requirements ------------------ -This sample requires capabilities that are only available when run on an iOS device. -To run the sample on a device, please create a valid AppID with HealthKit enabled, and generate the corresponding Provisioning Profile from the Dev Portal. Download and link Fit with this Provisioning Profile. Don't forget to change the Bundle Identifier and entitlements.plist to match the new AppId +This sample requires capabilities that are only available when run on +an iOS device. + +To run the sample on a device, please create a valid AppID with +HealthKit enabled, and generate the corresponding Provisioning Profile +from the Dev Portal. Download and link Fit with this Provisioning +Profile. Don't forget to change the Bundle Identifier and +entitlements.plist to match the new AppId Build Requirements ------------------ diff --git a/ios8/KeychainTouchID/README.md b/ios8/KeychainTouchID/README.md index b95c54f28..dff94ece5 100644 --- a/ios8/KeychainTouchID/README.md +++ b/ios8/KeychainTouchID/README.md @@ -1,12 +1,16 @@ KeychainTouchID ============== -KeychainTouchID sample demonstrates how to add, delete, update and copy Touch ID items to keychain. It also shows how to set custom promts to security dialog and how to use LocalAuthentication to invoke Touch ID verification without keychain. +KeychainTouchID sample demonstrates how to add, delete, update and +copy Touch ID items to keychain. It also shows how to set custom +promts to security dialog and how to use LocalAuthentication to invoke +Touch ID verification without keychain. Requirements ------------------ -This sample requires device with Touch ID and passcode enabled. This sample does not support simulator. +This sample requires device with Touch ID and passcode enabled. This +sample does not support simulator. Build Requirements ------------------ diff --git a/ios8/Lister/README.md b/ios8/Lister/README.md index 5658e5455..2cd5d3c38 100644 --- a/ios8/Lister/README.md +++ b/ios8/Lister/README.md @@ -1,37 +1,84 @@ Lister ============== -Lister is a productivity sample code project for iOS. In this sample, the user can create lists, add items to lists, and track the progress of items in the lists. -The solution includes iOS app and iOS Today extensions app (Widget). - -In sample, the user manages multiple lists using a table view implemented in the `DocumentsViewController` class. In addition to vending rows in the table view, the list documents controller observes changes to the lists, as well as the status of `iCloud`. Tapping on a list brings the user to the `ListViewController`. This class displays and manages a single document. The `NewListDocumentController` class allows a user to create a new list. - -The `ListCoordinator` class tracks the user's storage choice — local or `iCloud` and moves the user's documents between the two storage locations. The `ListDocument` class, a subclass of `UIDocument`, represents an individual list document that is responsible for serialization and deserialization. - -`List` and `ListItem` are the two main model objects. The `ListItem` class represents a single item in a list. It contains only three stored properties: the text of the item, a Boolean indicating whether the user has completed it, and a unique identifier. Along with these properties, the `ListItem` class also implements the functionality required to compare, archive, and unarchive a `ListItem` object. The `List` class holds an array of these `ListItem` objects, as well as the color the desired list color. The `List` class also supports indexer, archiving and unarchiving. - -In addition to model code, by subclassing `CALayer`, Lister shares checkbox drawing code with both app and it's extension. +Lister is a productivity sample code project for iOS. In this sample, +the user can create lists, add items to lists, and track the progress +of items in the lists. The solution includes iOS app and iOS Today +extensions app (Widget). + +In sample, the user manages multiple lists using a table view +implemented in the `DocumentsViewController` class. In addition to +vending rows in the table view, the list documents controller observes +changes to the lists, as well as the status of `iCloud`. Tapping on a +list brings the user to the `ListViewController`. This class displays +and manages a single document. The `NewListDocumentController` class +allows a user to create a new list. + +The `ListCoordinator` class tracks the user's storage choice — local +or `iCloud` and moves the user's documents between the two storage +locations. The `ListDocument` class, a subclass of `UIDocument`, +represents an individual list document that is responsible for +serialization and deserialization. + +`List` and `ListItem` are the two main model objects. The `ListItem` +class represents a single item in a list. It contains only three +stored properties: the text of the item, a Boolean indicating whether +the user has completed it, and a unique identifier. Along with these +properties, the `ListItem` class also implements the functionality +required to compare, archive, and unarchive a `ListItem` object. The +`List` class holds an array of these `ListItem` objects, as well as +the color the desired list color. The `List` class also supports +indexer, archiving and unarchiving. + +In addition to model code, by subclassing `CALayer`, Lister shares +checkbox drawing code with both app and it's extension. References ---------- -For understanding Widgets (Today extension) read [Apple's documentation](https://developer.apple.com/library/prerelease/mac/documentation/General/Conceptual/ExtensibilityPG/NotificationCenter.html#//apple_ref/doc/uid/TP40014214-CH11-SW1) + +For understanding Widgets (Today extension) read [Apple's +documentation](https://developer.apple.com/library/prerelease/mac/documentation/General/Conceptual/ExtensibilityPG/NotificationCenter.html#//apple_ref/doc/uid/TP40014214-CH11-SW1) Setup ----- -For this sample you need create ApplicationID and setup iCloudContainer for it. For complete instructions read `Enabling iCloud in Xamarin` section from [tutorial](http://developer.xamarin.com/guides/ios/platform_features/introduction_to_the_document_picker/). + +For this sample you need create ApplicationID and setup +iCloudContainer for it. For complete instructions read `Enabling +iCloud in Xamarin` section from +[tutorial](http://developer.xamarin.com/guides/ios/platform_features/introduction_to_the_document_picker/). Instructions ------------ -Before running the app you shoud signin to your `iCloud` account via `Settings` application. Also enable `iCloud Drive`. After that run the app. -During launching process application will copy resource files (which represents serialized `List` objects) to `Documents` folder within sandbox. -You will be promted about storage choice (`iCloud` or local). You will not be able to change you choice in future, so please choose `iCloud`. You need `iCloud` storage, because this is a way to share data between application and it's extension. - -When you choose `iCloud` app will move resource files (`*.lister`) from `Documents` folder to `iCloud` container. After that these files will available to `ListerToday` extension app (`Widget`). -`ListerToady` (Widget) displays only items from `Today` list, because of this add some items to this list. Now you are ready to run your widget. - -Go to `Today view` (`Notification center`). Here you will see built in widgets like `Calendar`, `Remainders`, etc. Now we need to enable `ListerLoday` Widget (add it to `Today view`). At the button you will see `Edit` button. Tap on it, then enable `ListerToday` widget and press `Done`. At this point you will see `Today view` with `ListerToday` widget, also you will see your Today items. -When you change your `Today list` within Lister app these changes will be displayed inside ListerToday Widget and vice versa. +Before running the app you shoud signin to your `iCloud` account via +`Settings` application. Also enable `iCloud Drive`. After that run +the app. + +During launching process application will copy resource files (which +represents serialized `List` objects) to `Documents` folder within +sandbox. + +You will be promted about storage choice (`iCloud` or local). You will +not be able to change you choice in future, so please choose +`iCloud`. You need `iCloud` storage, because this is a way to share +data between application and it's extension. + +When you choose `iCloud` app will move resource files (`*.lister`) +from `Documents` folder to `iCloud` container. After that these files +will available to `ListerToday` extension app (`Widget`). +`ListerToady` (Widget) displays only items from `Today` list, because +of this add some items to this list. Now you are ready to run your +widget. + +Go to `Today view` (`Notification center`). Here you will see built in +widgets like `Calendar`, `Remainders`, etc. Now we need to enable +`ListerLoday` Widget (add it to `Today view`). At the button you will +see `Edit` button. Tap on it, then enable `ListerToday` widget and +press `Done`. At this point you will see `Today view` with +`ListerToday` widget, also you will see your Today items. + +When you change your `Today list` within Lister app these changes will +be displayed inside ListerToday Widget and vice versa. Build Requirements ------------------ diff --git a/ios8/LookInside/README.md b/ios8/LookInside/README.md index bfc36e7bd..aac46a151 100644 --- a/ios8/LookInside/README.md +++ b/ios8/LookInside/README.md @@ -1,25 +1,70 @@ LookInside ============== -This example shows how to use a custom presentation controller to create a custom view controller presentation. It provides a transitioning delegate to the view controller, which vends a presentation controller and animator object. +This example shows how to use a custom presentation controller to +create a custom view controller presentation. It provides a +transitioning delegate to the view controller, which vends a +presentation controller and animator object. The LookInside project contains the following interesting classes: -* `RootViewController`. This is the root view controller of the application. It provides a scrolling grid of photos through a `UICollectionView`. When one of the photos is tapped, it performs a view controller presentation -* `OverlayViewController`. This is the view controller for the photo editing interface. It has an image view, some sliders, and a save button. It uses `CoreImage` to change the HSV of the image. Note that the view controller provides no dimming views, borders, or other chrome -* `OverlayTransitioningDelegate`. This is the transitioning delegate used for the Overlay presentation style. It is a subclass from the `UIViewControllerTransitioningDelegate` and provides a custom animator object and presentation controller -* `OverlayAnimatedTransitioning`. This is the animator object used for the Overlay presentation style. It animates the presented view controller in from the right side of the display with a spring animation -* `OverlayPresentationController`. This is the presentation controller used for the Overlay presentation style. It provides sizing information for the presented view controller to position it on the right edge of the display. It also provides a dimming view for use in the presentation. It implements a gesture on the dimming view to dismiss the presented view controller -* `CoolTransitioningDelegate`. This is the transitioning delegate used for the Cool presentation style. It is a subclass from the `UIViewControllerTransitioningDelegate` and provides a custom animator object and presentation controller -* `CoolAnimatedTransitioning`. This is the animator object used for the Cool presentation style. It animates the presented view controller in from the center of the display using a scale animation -* `CoolPresentationController`. This is the presentation controller used for the Cool presentation style. It provides sizing information for the presented view controller to position it in the center of the display. It positions a pink view behind the presented view controller. It also provides custom chrome - leopard print borders, a pink flower, and a unicorn + +* `RootViewController`. This is the root view controller of the + application. It provides a scrolling grid of photos through a + `UICollectionView`. When one of the photos is tapped, it performs a + view controller presentation + +* `OverlayViewController`. This is the view controller for the photo + editing interface. It has an image view, some sliders, and a save + button. It uses `CoreImage` to change the HSV of the image. Note + that the view controller provides no dimming views, borders, or + other chrome + +* `OverlayTransitioningDelegate`. This is the transitioning delegate + used for the Overlay presentation style. It is a subclass from the + `UIViewControllerTransitioningDelegate` and provides a custom + animator object and presentation controller + +* `OverlayAnimatedTransitioning`. This is the animator object used for + the Overlay presentation style. It animates the presented view + controller in from the right side of the display with a spring + animation + +* `OverlayPresentationController`. This is the presentation controller + used for the Overlay presentation style. It provides sizing + information for the presented view controller to position it on the + right edge of the display. It also provides a dimming view for use + in the presentation. It implements a gesture on the dimming view to + dismiss the presented view controller + +* `CoolTransitioningDelegate`. This is the transitioning delegate used + for the Cool presentation style. It is a subclass from the + `UIViewControllerTransitioningDelegate` and provides a custom + animator object and presentation controller + +* `CoolAnimatedTransitioning`. This is the animator object used for + the Cool presentation style. It animates the presented view + controller in from the center of the display using a scale animation + +* `CoolPresentationController`. This is the presentation controller + used for the Cool presentation style. It provides sizing information + for the presented view controller to position it in the center of + the display. It positions a pink view behind the presented view + controller. It also provides custom chrome - leopard print borders, + a pink flower, and a unicorn + Instructions ------------ -For shifting between Normal and Cool transitions use the switch at the top left corner. Tap image then change settings with sliders and hit Save button. + +For shifting between Normal and Cool transitions use the switch at the +top left corner. Tap image then change settings with sliders and hit +Save button. Known issue ----------- -This sampe and original sample from `Apple` consume lot of memory so you can find a crash by applying filters to all images within the app. + +This sampe and original sample from `Apple` consume lot of memory so +you can find a crash by applying filters to all images within the app. Build Requirements ------------------ diff --git a/ios8/MetalBasic3D/README.md b/ios8/MetalBasic3D/README.md index 48e7bd7cb..c5ec322cc 100644 --- a/ios8/MetalBasic3D/README.md +++ b/ios8/MetalBasic3D/README.md @@ -1,13 +1,17 @@ MetalBasic3D ==================== -This sample is an equivalent for Xcode OpenGL ES template. It shows how to: +This sample is an equivalent for Xcode OpenGL ES template. It shows +how to: + * Work with basic Metal classes such as MTLDevice and CAMetalLayer * Create vertex buffers and vertex shaders * Create fragment shaders * Use *.metal files in Xamarin Studio -Additional effects have been added to one of the spinning cubes from the template to demonstrate altering a single object's uniform values per frame while keeping the other constant. +Additional effects have been added to one of the spinning cubes from +the template to demonstrate altering a single object's uniform values +per frame while keeping the other constant. Build Requirements ------------------ diff --git a/ios8/MetalImageProcessing/README.md b/ios8/MetalImageProcessing/README.md index 1d2915ce7..77009ade6 100644 --- a/ios8/MetalImageProcessing/README.md +++ b/ios8/MetalImageProcessing/README.md @@ -1,7 +1,10 @@ MetalImageProcessing ==================== -This sample extends the textured quad sample by adding a Metal compute encoder to convert the image to greyscale. Note the compute encoder is part of the same pass as the render encoder and hence demonstrates how you can use the same shared CPU/GPU data across compute and rendering. +This sample extends the textured quad sample by adding a Metal compute +encoder to convert the image to greyscale. Note the compute encoder is +part of the same pass as the render encoder and hence demonstrates how +you can use the same shared CPU/GPU data across compute and rendering. Build Requirements diff --git a/ios8/MotionActivityDemo/README.md b/ios8/MotionActivityDemo/README.md index c01e98c4a..798468b6e 100644 --- a/ios8/MotionActivityDemo/README.md +++ b/ios8/MotionActivityDemo/README.md @@ -1,7 +1,10 @@ MotionActivityDemo: Integrating Motion Activity into your app ============================================================= -This projects shows an example of using both historical and live data from the `CoreMotion` `MotionActivity` and Step Counting APIs. The data is then presented in app laying out a daily diary of a user's motion activity. +This projects shows an example of using both historical and live data +from the `CoreMotion` `MotionActivity` and Step Counting APIs. The +data is then presented in app laying out a daily diary of a user's +motion activity. Author ------