Xamarin.iOS sample apps
Перейти к файлу
Peter Collins 6794bdebc5 [iOS7] Add new samples 2013-09-18 13:23:40 -04:00
AQTapDemo Add license 2013-01-25 15:58:31 -05:00
AUSoundTriggeredPlayingSoundMemoryBased Fix comment 2013-01-11 02:22:08 +01:00
AVCaptureFrames Add AQTapDemo, port of Chris Adamson's sample from CocoaConf 2013-01-25 15:55:05 -05:00
AVTouchSample Fix linker warning (or error?) when 3.0 SDK is (mis)used [#14638] 2013-09-11 10:44:51 -04:00
AirLocate [iOS7] Add new samples 2013-09-18 13:23:40 -04:00
AppPrefs add new resources 2012-12-20 14:20:14 -05:00
AsyncDownloadImage Add a new async Sample AsyncDownloadImage 2013-07-24 15:32:55 -04:00
AudioConverterFileConverter Set the device orientation to Potrait mode to fix #12582 2013-07-17 18:54:17 -04:00
AudioGenerator add new resources 2012-12-20 14:20:14 -05:00
AudioQueueOfflineRenderDemo Updated to use new API 2013-01-30 10:44:23 +01:00
BackgroundExecution add new resources 2012-12-20 14:20:14 -05:00
BindingSample Fixed problem with universal static library 2013-05-22 14:12:19 -05:00
BubbleCell [Bubble Cell] Cast the new RootElements as Element to prevent ambiguity. Fixes #11593 2013-07-24 15:32:54 -04:00
ButtonEventDemo add new resources 2012-12-20 14:20:14 -05:00
ButtonTapper3000 [iOS7] Add new samples 2013-09-18 13:23:40 -04:00
Calendars Ensure we call UIAlertView from the main UI thread. Fix bug #11522 2013-04-03 08:40:15 -04:00
CircleLayout add new resources 2012-12-20 14:20:14 -05:00
CollectionViewTransition [iOS7] Add new samples 2013-09-18 13:23:40 -04:00
ContentControls removed duplicate samples, add moveto.md 2013-02-12 10:17:22 -08:00
CoreAnimation [Core Animation] Use GetFromKeyPath instead of FromKeyPath 2013-07-24 15:32:53 -04:00
CoreImage [CoreImage] Cast all new RootElements as Element to avoid ambiguity. Fixes #11602 2013-07-24 15:32:54 -04:00
CoreLocation add new resources 2012-12-20 14:20:14 -05:00
CoreMidiSample [CoreMidiSample] Cast MakeHardware() and MakeElements() as Element to prevent ambiguity. Fixes #11595 2013-07-24 15:32:54 -04:00
CoreTelephonyDemo add new resources 2012-12-20 14:20:14 -05:00
CustomCollectionViewLayoutAttributes Limit the sample to portrait to fix #12521 2013-06-03 12:51:10 -04:00
CustomInputStream Fix bug 8280 in CustomInputStream. 2013-06-17 14:56:19 -04:00
CustomPropertyAnimation Fix bug #7244. 2013-06-07 18:18:30 -04:00
Data Add level requirement in Metadata in Data sample. 2013-06-18 14:43:35 -04:00
Drawing Fix bug #7280 2013-06-06 16:17:47 -04:00
DynamicsCatalog [iOS7] Add new samples 2013-09-18 13:23:40 -04:00
FileSystemSampleCode add new resources 2012-12-20 14:20:14 -05:00
FontList add new resources 2012-12-20 14:20:14 -05:00
FrogScroller add new resources 2012-12-20 14:20:14 -05:00
GLCameraRipple add new resources 2012-12-20 14:20:14 -05:00
GLPaint-GameView Application Devices Type Changed to Universal to support iPad. 2013-05-09 10:10:47 -04:00
GameCenterSample Fix bug 13052 in GameCenterSample. 2013-07-25 13:12:20 -04:00
GoogleAdMobAds/binding Google AdMobs documentation 2013-01-16 13:53:56 -10:00
HelloWorld_iPhone add new resources 2012-12-20 14:20:14 -05:00
Hello_ComplexUniversal add new resources 2012-12-20 14:20:14 -05:00
Hello_MultiScreen_iPhone add new resources 2012-12-20 14:20:14 -05:00
Hello_Universal add new resources 2012-12-20 14:20:14 -05:00
Hello_iPad add new resources 2012-12-20 14:20:14 -05:00
HttpClient Update samples url to working url. Add missing await. 2013-07-24 15:32:55 -04:00
ImageProtocol It turns out AsJPEG (like AsPNG) are not thread-safe and must be executed from the main/UI thread. Fix bug #11583 2013-04-08 16:47:20 -04:00
KeyValueObserving add new resources 2012-12-20 14:20:14 -05:00
Keychain add new resources 2012-12-20 14:20:14 -05:00
LazyTableImages add new resources 2012-12-20 14:20:14 -05:00
LineLayout add new resources 2012-12-20 14:20:14 -05:00
LowLevelGLPaint Enabled bottom of screen for iPhone 5. Fixes #11653 2013-08-28 10:31:59 -04:00
MTDJsonDemo [MTDJsonDemo] Specify Element to prevent ambiguity 2013-07-24 15:32:54 -04:00
MTDReflectionWalkthrough add new resources 2012-12-20 14:20:14 -05:00
MTDWalkthrough [MTDWalkthrough] Cast new Root Element as Element to avoid ambiguity. Fixes #11611. 2013-07-24 15:32:54 -04:00
MTGKTapper Fix bug 13773 in MTGKTapper 2013-08-27 14:05:04 -04:00
MapCallouts errors were fixed by removing the Resources part of the image path, which may be an inconsistency with MonoTouch itself 2013-02-06 16:05:34 -08:00
MapKitSearch Code cleanup in MapKitSearch 2013-07-24 15:32:55 -04:00
MediaCapture [MediaCapture] Cast RootElements as Element to avoid ambiguity. Fixes #11617 2013-07-24 15:32:54 -04:00
MediaNotes Fix Info.plist intoduced by megacommit 2013-01-31 12:02:38 -05:00
MonoCatalog-MonoDevelop Enable the bottom of the screen on the iPhone5. Fix bug #12071 2013-05-02 16:37:43 -04:00
MonoCatalogSample Fix MonoCatalogSample build and include basic instructions to use the Makefile 2012-04-10 15:54:00 -04:00
MonoDevelopTouchCells add new resources 2012-12-20 14:20:14 -05:00
MotionGraphs add new resources 2012-12-20 14:20:14 -05:00
MoviePlayback add new resources 2012-12-20 14:20:14 -05:00
Notifications Reset bundle signing IDs and profiles to default for a few samples 2013-09-09 14:41:25 -04:00
OpenGL Call GL.GetShaderInfoLog 2013-07-11 13:40:48 -04:00
OpenGLESSample add new resources 2012-12-20 14:20:14 -05:00
OpenGLESSample-GameView add new resources 2012-12-20 14:20:14 -05:00
OpenGLScroller add new resources 2012-12-20 14:20:14 -05:00
PaintCode add new resources 2012-12-20 14:20:14 -05:00
PassKit [passkit] removed personal codesignkey (oops!) 2013-04-06 12:40:37 -07:00
PinchIt add new resources 2012-12-20 14:20:14 -05:00
PokerNightVoting add new resources 2012-12-20 14:20:14 -05:00
Popovers add new resources 2012-12-20 14:20:14 -05:00
PrintBanner [iOS7] Add new samples 2013-09-18 13:23:40 -04:00
PrintSample add new resources 2012-12-20 14:20:14 -05:00
PrivacyPrompts [iOS7] Add new samples 2013-09-18 13:23:40 -04:00
Protocols_Delegates_Events add new resources 2012-12-20 14:20:14 -05:00
QuartzSample Enable the bottom of the screen on the iPhone5. Fix bug #12071 2013-05-02 16:33:02 -04:00
Quotes add new resources 2012-12-20 14:20:14 -05:00
ReachabilitySample Update ReachabilitySample/reachability.cs 2013-01-24 16:15:11 +02:00
RecipesAndPrinting add new resources 2012-12-20 14:20:14 -05:00
RegionDefiner Fixed app orientation issue 2013-05-20 17:11:29 -04:00
RosyWriter Changed deployment target for RosyWriter 2013-02-19 13:08:46 -05:00
Rotation [Rotation] new sample (iOS5) 2013-03-11 10:26:30 -07:00
SearchDemo add new resources 2012-12-20 14:20:14 -05:00
SharedResources Update SharedResources to fix views hiding behind NavigationBar in iOS 7 2013-09-12 15:25:07 -08:00
SimpleBackgroundTransfer [iOS7] Add new samples 2013-09-18 13:23:40 -04:00
SimpleCollectionView Set MinimumInteritemSpacing and MinimumLineSpacing on flow layout 2013-05-03 16:46:15 -04:00
SimpleDrillDown add new resources 2012-12-20 14:20:14 -05:00
SimpleTextInput add new resources 2012-12-20 14:20:14 -05:00
SoZoomy [iOS7] Add new samples 2013-09-18 13:23:40 -04:00
SocialFrameworkDemo add new resources 2012-12-20 14:20:14 -05:00
Sound add new resources 2012-12-20 14:20:14 -05:00
SplitView add new resources 2012-12-20 14:20:14 -05:00
SpriteKitPhysicsCollisions [iOS7] Add new samples 2013-09-18 13:23:40 -04:00
SpriteTour [iOS7] Add new samples 2013-09-18 13:23:40 -04:00
StandardControls removed duplicate samples, add moveto.md 2013-02-12 10:17:22 -08:00
Stars [Stars] test commit for XS version control demo for doc 2013-06-14 16:07:04 -04:00
StoreKit Reset bundle signing IDs and profiles to default for a few samples 2013-09-09 14:41:25 -04:00
StreamingAudio Fix compilation with newer compiler 2013-02-01 18:41:51 +01:00
SysSound add new resources 2012-12-20 14:20:14 -05:00
Tabbed_Images add new resources 2012-12-20 14:20:14 -05:00
TableAndCellStyles removed duplicate samples, add moveto.md 2013-02-12 10:17:22 -08:00
TableEditing add new resources 2012-12-20 14:20:14 -05:00
TableParts add new resources 2012-12-20 14:20:14 -05:00
TextKitDemo [iOS7] Add new samples 2013-09-18 13:23:40 -04:00
TicTacToe [iOS7] Add new samples 2013-09-18 13:23:40 -04:00
Touch Use offsets and deltas so buttons appear correctly on both iOS7 and older iOS 2013-09-12 11:16:31 -08:00
Touches_Classic add new resources 2012-12-20 14:20:14 -05:00
Touches_GestureRecognizers add new resources 2012-12-20 14:20:14 -05:00
Transitioning_To_Xcode_4 add new resources 2012-12-20 14:20:14 -05:00
ViewTransitions Refixed bug 11645 2013-05-31 14:42:05 -04:00
WayUpSample add new resources 2012-12-20 14:20:14 -05:00
WeatherMap add new resources 2012-12-20 14:20:14 -05:00
Working_with_images add new resources 2012-12-20 14:20:14 -05:00
WorldCities Add missing override for the AppDelegate.Window property. Fix bug #11914 2013-07-24 15:32:55 -04:00
ZoomingPdfViewer Add System.Core reference 2013-02-12 10:33:39 -05:00
.gitattributes Add sln file (and make sure it stays as CRLF because VS needs it) for CoreTelephonyDemo. 2011-09-09 19:45:29 +02:00
.gitignore Readd Make.common and update .gitignore. 2011-10-03 19:38:40 +02:00
LICENSE Add License 2011-09-27 11:47:28 -04:00
Make.common Fix MonoCatalogSample build and include basic instructions to use the Makefile 2012-04-10 15:54:00 -04:00
README.md Update README.md 2013-06-18 17:42:26 -03:00
Xamarin.Edu.SampleGallery.Core.dll Update sample validator. 2012-07-05 19:30:05 +02:00
install-hook.sh Set executable bit on install-hook.sh and pre-commit.posix. 2011-09-27 19:14:23 +02:00
mdtool-build Fix mdtool build invocation. 2011-10-04 11:53:52 +02:00
pre-commit.posix Fix pre-commit script's use of ==. 2012-02-20 18:45:41 +01:00
validate.posix Fix usage of `find` in some scripts. 2012-02-17 21:39:36 +01:00
xcsv.exe Update sample validator. 2012-07-05 19:30:05 +02:00

README.md

MonoTouch Samples

The samples in this directory use the MonoTouch toolchain and MonoDevelop project files to illustrate the basics of how to work with iOS and the SDK.

License

The Apache License 2.0 applies to all samples in this repository.

Copyright 2011 Xamarin Inc

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Contributing

Before adding a sample to the repository, please run either install-hook.bat or install-hook.sh depending on whether you're on Windows or a Posix system. This will install a Git hook that runs the Xamarin code sample validator before a commit, to ensure that all samples are good to go.

Samples Submission Guidelines

Galleries

We love samples! Application samples show off our platform and provide a great way for people to learn our stuff. And we even promote them as a first-class feature of the docs site. You can find our two sample galleries here:

Sample GitHub Repositories

These sample galleries are populated by samples in our three sample GitHub repos:

The mobile-samples repository is for samples that are cross-platform.

Sample Requirements

We welcome sample submissions. Please ping Nat or Miguel for repo commit access.

However, because the sample galleries are powered by the github sample repos, each sample needs to have the following things:

  • Screenshots - a folder called Screenshots that has at least one screen shot of the sample (preferably a screen shot for every page or every major functionality piece, people really key off these things). for the xplat samples, the folder should be split into platform folders, e.g. iOS, Android, Windows. see https://github.com/xamarin/mobile-samples/tree/master/Tasky/Screenshots for an example of this.

  • Readme - a README.md file that has the name of the sample, a description, and author attribution. sample here: https://github.com/xamarin/mobile-samples/blob/master/Tasky/README.md

  • Metadata - Finally, it needs a Metadata.xml file (https://github.com/xamarin/mobile-samples/blob/master/Tasky/Metadata.xml) that has some information:

    • ID: a GUID for the sample. you can generate this in MD under Tools menu : Insert GUID. we need this to key between articles and their associated samples

    • IsFullApplication boolean flag (true or false): whether or not this is a full application such as the MWC App, Tasky, etc., or it's just a feature sample, such as, how to use 'x' feature. the basic test here is, if you would submit this to the app store because it's useful, then it's a full app, otherwise it's just a feature sample.

    • Level - Beginning, Intermediate, or Advanced: this is the intended audience level for the sample. only the getting started samples are Beginning, as they are intended for people who are just starting with the platform. most samples are Intermediate, and a few, that dive deep into difficult APIs, should be Advanced.

    • Minimum License Requirement - Starter, Indie, Business, or Enterprise: denotes the license that a user has to have in order to build/run the sample.

    • Tags: a list of relevant tags for the app. These will be controlled more tightly later.

    • SupportedPlatforms: this is only for cross plat samples. It's a comma-separated list, and the valid values are iOS, Android, and Windows.

  • Buildable Sln and CSProj file - the project must build and have the appropriate project scaffolding (solution + proj).

A good example of this stuff is here in the drawing sample: https://github.com/xamarin/monotouch-samples/tree/master/Drawing

For a x-platform sample, please see: https://github.com/xamarin/mobile-samples/tree/master/Tasky

GitHub Integration

We integrate tightly with Git to make sure we always provide working samples to our customers. This is achieved through a pre-commit hook that runs before your commit goes through, as well as a post-receive hook on GitHub's end that notifies our samples gallery server when changes go through.

To you, as a sample committer, this means that before you push to the repos, you should run the "install-hook.bat" or "install-hook.sh" (depending on whether you're on Windows or OS X/Linux, respectively). These will install the Git pre-commit hook. Now, whenever you try to make a Git commit, all samples in the repo will be validated. If any sample fails to validate, the commit is aborted; otherwise, your commit goes through and you can go ahead and push.

This strict approach is put in place to ensure that the samples we present to our customers are always in a good state, and to ensure that all samples integrate correctly with the sample gallery (README.md, Metadata.xml, etc). Note that the master branch of each sample repo is what we present to our customers for our stable releases, so they must always Just Work.

Should you wish to invoke validation of samples manually, simply run "validate.windows" or "validate.posix" (again, Windows vs OS X/Linux, respectively). These must be run from a Bash shell (i.e. a terminal on OS X/Linux or the Git Bash terminal on Windows).

If you have any questions, don't hesitate to ask!