Xamarin.iOS sample apps
Перейти к файлу
GouriKumari 85e8546616 Change encoding of TouchCells.csproj 2014-08-04 16:36:07 -04:00
AQTapDemo AQTapDemo/ AUSoundTriggeredPlayingSoundMemoryBased/ AVCaptureFrames/ AudioConverterFileConverter/ AudioGenerator/ AudioQueueOfflineRenderDemo/ compile but crash, Related to AudioUnit, AVFoundation 2014-05-21 11:34:03 -05:00
AUSoundTriggeredPlayingSoundMemoryBased AQTapDemo/ AUSoundTriggeredPlayingSoundMemoryBased/ AVCaptureFrames/ AudioConverterFileConverter/ AudioGenerator/ AudioQueueOfflineRenderDemo/ compile but crash, Related to AudioUnit, AVFoundation 2014-05-21 11:34:03 -05:00
AVCaptureFrames AQTapDemo/ AUSoundTriggeredPlayingSoundMemoryBased/ AVCaptureFrames/ AudioConverterFileConverter/ AudioGenerator/ AudioQueueOfflineRenderDemo/ compile but crash, Related to AudioUnit, AVFoundation 2014-05-21 11:34:03 -05:00
AVCompositionDebugVieweriOS AVCompositionDebugVieweriOS quick bug fix... 2014-05-21 14:47:19 -05:00
AVTouchSample AVTouchSample migrated and tested for 64-bits 2014-05-21 15:09:18 -05:00
AirLocate AirLocate, AppPrefs, AsyncDownloadImage samples migrated and tested on 64bits 2014-05-20 18:14:42 -05:00
AppPrefs AirLocate, AppPrefs, AsyncDownloadImage samples migrated and tested on 64bits 2014-05-20 18:14:42 -05:00
AsyncDownloadImage AirLocate, AppPrefs, AsyncDownloadImage samples migrated and tested on 64bits 2014-05-20 18:14:42 -05:00
AudioConverterFileConverter AQTapDemo/ AUSoundTriggeredPlayingSoundMemoryBased/ AVCaptureFrames/ AudioConverterFileConverter/ AudioGenerator/ AudioQueueOfflineRenderDemo/ compile but crash, Related to AudioUnit, AVFoundation 2014-05-21 11:34:03 -05:00
AudioGenerator AQTapDemo/ AUSoundTriggeredPlayingSoundMemoryBased/ AVCaptureFrames/ AudioConverterFileConverter/ AudioGenerator/ AudioQueueOfflineRenderDemo/ compile but crash, Related to AudioUnit, AVFoundation 2014-05-21 11:34:03 -05:00
AudioQueueOfflineRenderDemo AQTapDemo/ AUSoundTriggeredPlayingSoundMemoryBased/ AVCaptureFrames/ AudioConverterFileConverter/ AudioGenerator/ AudioQueueOfflineRenderDemo/ compile but crash, Related to AudioUnit, AVFoundation 2014-05-21 11:34:03 -05:00
BackgroundExecution BackgroundExecution ported to 64-bits 2014-05-21 15:19:24 -05:00
BindingSample Added gallery opt-in to metadata 2014-02-20 10:22:07 -05:00
BubbleCell Migrated sample to 64-bits 2014-05-13 12:22:13 -05:00
ButtonEventDemo ButtonEventDemo ported to 64-bits 2014-05-21 16:10:45 -05:00
ButtonTapper3000 ButtonTapper3000 ported to 64-bits 2014-05-21 15:50:46 -05:00
Calendars Calendars sample migrated to 64-bits 2014-05-21 16:11:41 -05:00
CircleLayout CircleLayout and CoreAnimation samples migrated to 64-bits 2014-05-14 16:09:16 -05:00
CollectionViewTransition CollectionViewTransition ported to 64bits 2014-05-22 20:54:37 -05:00
ContentControls removed duplicate samples, add moveto.md 2013-02-12 10:17:22 -08:00
CoreAnimation CircleLayout and CoreAnimation samples migrated to 64-bits 2014-05-14 16:09:16 -05:00
CoreImage Samples: Notifications MapCallouts Keychain DynamicsCatalog Drawing CoreLocation CoreImage ported to 64-bits 2014-05-15 13:39:16 -05:00
CoreLocation Samples: Notifications MapCallouts Keychain DynamicsCatalog Drawing CoreLocation CoreImage ported to 64-bits 2014-05-15 13:39:16 -05:00
CoreMidiSample CoreMidiSample migrated to 64-bits 2014-05-22 20:54:53 -05:00
CoreTelephonyDemo CoreTelephonyDemo ported to 64-bits 2014-05-22 21:15:42 -05:00
CustomCollectionViewLayoutAttributes CustomCollectionViewLayoutAttributes ported to 64-bits 2014-05-23 12:26:43 -05:00
CustomInputStream CustomInputStream ported to 64-bits 2014-05-23 12:53:59 -05:00
CustomPropertyAnimation CustomPropertyAnimation ported to 64-bits 2014-05-23 17:50:52 -05:00
Data Data sample ported to 64-bits 2014-05-23 17:58:55 -05:00
DesignerWalkthrough DesignerWalkthrough sample ported to 64-bits 2014-05-26 22:03:36 -05:00
Drawing Samples: Notifications MapCallouts Keychain DynamicsCatalog Drawing CoreLocation CoreImage ported to 64-bits 2014-05-15 13:39:16 -05:00
DynamicsCatalog Samples: Notifications MapCallouts Keychain DynamicsCatalog Drawing CoreLocation CoreImage ported to 64-bits 2014-05-15 13:39:16 -05:00
EvolveGraphicsAndAnimation EvolveGraphicsAndAnimation sample ported to 64-bits 2014-05-26 22:20:59 -05:00
FileSystemSampleCode FileSystemSampleCode sample ported to 64-bits 2014-05-27 15:22:55 -05:00
FontList FontList sample ported to 64-bits 2014-05-27 15:23:08 -05:00
FrogScroller FrogScroller sample ported to 64-bits 2014-05-27 15:23:20 -05:00
GLCameraRipple GLCameraRipple sample ported to 64-bits 2014-07-22 11:16:18 -05:00
GLPaint-GameView GLPaint-GameView workaround All.Float 2014-05-28 15:03:34 -05:00
GameCenterSample GameCenterSample ported to 64-bits 2014-05-27 15:41:02 -05:00
GoogleAdMobAds/binding Google AdMobs documentation 2013-01-16 13:53:56 -10:00
HelloWorld_iPhone HelloWorld_iPhone samples ported to 64-bits 2014-05-29 00:49:16 -05:00
Hello_ComplexUniversal Hello_ComplexUniversal sample ported to 64-bits 2014-05-28 14:28:25 -05:00
Hello_MultiScreen_iPhone Hello_MultiScreen_iPhone ported to 64-bits 2014-05-28 22:36:16 -05:00
Hello_Universal Hello_Universal sample ported to 64-bits 2014-05-28 22:36:32 -05:00
Hello_iPad Hello_iPad sample ported to 64-bits 2014-05-28 22:36:48 -05:00
HttpClient HttpClient sample ported to 64-bits 2014-05-30 15:33:33 -05:00
ImageProtocol ImageProtocol ported to 64-bits. Buggy. 2014-05-30 18:26:42 -05:00
KeyValueObserving KeyValueObserving ported to 64-bits 2014-06-04 14:34:51 -05:00
Keychain Samples: Notifications MapCallouts Keychain DynamicsCatalog Drawing CoreLocation CoreImage ported to 64-bits 2014-05-15 13:39:16 -05:00
LazyTableImages LazyTableImages sample ported to 64-bits 2014-06-04 14:50:32 -05:00
LineLayout LineLayout sample ported to 64-bits 2014-06-04 15:23:51 -05:00
LowLevelGLPaint LowLevelGLPaint sample ported to 64-bits. Same issue as GLPaint-GameView sample. Bug reported 2014-06-04 15:24:23 -05:00
MTDJsonDemo MTDJsonDemo sample ported to 64-bits 2014-06-26 13:54:23 -05:00
MTDReflectionWalkthrough MTDReflectionWalkthrough sample ported to 64-bits 2014-06-28 12:36:26 -05:00
MTDWalkthrough MTDWalkthrough sample ported to 64-bits 2014-07-01 11:42:03 -05:00
MTGKTapper MTGKTapper sample ported to 64-bits 2014-06-28 12:52:05 -05:00
ManualStoryboard ManualStoryboard sample ported to 64-bits 2014-06-04 15:33:26 -05:00
MapCallouts MapCallouts update 2014-06-24 20:40:53 -05:00
MapKitSearch MapKitSearch ported to 64-bits 2014-06-24 20:54:48 -05:00
MediaCapture MediaCapture quick fix 2014-06-25 11:45:57 -05:00
MediaNotes MediaNotes sample ported to 64-bits 2014-06-24 22:14:18 -05:00
MonoCatalog-MonoDevelop Change encoding of Monocatalog.csproj 2014-08-04 16:33:27 -04:00
MonoCatalogSample Fix MonoCatalogSample build and include basic instructions to use the Makefile 2012-04-10 15:54:00 -04:00
MonoDevelopTouchCells Change encoding of TouchCells.csproj 2014-08-04 16:36:07 -04:00
MotionGraphs MotionGraphs sample ported to 64-bits 2014-06-26 13:14:44 -05:00
MoviePlayback MoviePlayback 2014-06-26 13:26:21 -05:00
MultichannelMixer MultichannelMixer ported to 64-bits, it crashes 2014-06-26 14:41:22 -05:00
NSZombieApocalypse NSZombieApocalypse sample ported to 64-bits 2014-06-26 14:41:36 -05:00
Notifications Samples: Notifications MapCallouts Keychain DynamicsCatalog Drawing CoreLocation CoreImage ported to 64-bits 2014-05-15 13:39:16 -05:00
OpenGL OpenGL sample ported to 64-bits 2014-07-01 12:04:06 -05:00
OpenGLESSample OpenGLESSample sample ported to 64-bits 2014-07-16 10:11:31 -05:00
OpenGLESSample-GameView OpenGLESSample-GameView ported to 64-bits 2014-07-16 10:19:49 -05:00
OpenGLScroller OpenGLScroller sample ported to 64-bits 2014-07-16 11:03:30 -05:00
PaintCode PaintCode sample ported to 64-bits 2014-07-22 11:29:03 -05:00
PassKit PassKit sample ported to 64-bits 2014-07-16 10:29:35 -05:00
PinchIt PinchIt, SpriteKite and WeatherMap samples migrated to 64-bits 2014-05-17 10:44:51 -05:00
PokerNightVoting PokerNightVoting sample ported to 64-bits 2014-07-16 11:19:14 -05:00
Popovers Popopvers sample ported to 64-bits 2014-07-22 11:42:07 -05:00
PrintBanner PrintBanner sample ported to 64-bits 2014-07-22 11:54:04 -05:00
PrintSample PrintSample sample ported to 64-bits 2014-07-23 11:42:15 -05:00
PrivacyPrompts PrivacyPrompts ported to 64-bits 2014-07-23 11:54:23 -05:00
Protocols_Delegates_Events Protocols_Delegates_Events sample ported to 64-bits 2014-07-23 12:02:44 -05:00
QRchestra updating tags 2014-02-24 16:25:01 +00:00
QuartzSample QuartzSample ported to 64-bits 2014-07-23 12:50:20 -05:00
Quotes Quotes sample ported to 64-bits 2014-07-24 14:49:23 -05:00
ReachabilitySample ReachabilitySample sample ported to 64-bits 2014-07-24 14:59:01 -05:00
RecipesAndPrinting RecipesAndPrinting sample ported to 64-bits 2014-07-24 14:26:07 -05:00
RegionDefiner RegionDefiner sample ported to 64-bits 2014-07-24 15:04:12 -05:00
RosyWriter RosyWriter: Make portrait only 2014-03-31 17:03:24 -08:00
Rotation Rotation sample ported to 64-bits 2014-07-24 15:22:53 -05:00
SearchDemo SearchDemo sample ported to 64-bits 2014-07-25 12:27:21 -05:00
SharedResources SharedResources sample ported to 64-bits 2014-07-25 12:48:04 -05:00
SimpleBackgroundTransfer SimpleBackgroundTransfer sample ported to 64-bits 2014-07-25 13:10:26 -05:00
SimpleCollectionView SimpleCollectionView Sample ported to 64-bits 2014-07-28 13:17:01 -05:00
SimpleDrillDown SimpleDrillDown sample ported to 64-bits 2014-07-28 13:20:02 -05:00
SimpleTextInput SimpleTextInput sample ported to 64-bits 2014-07-28 13:31:40 -05:00
SoZoomy SoZoomy sample ported to 64-bits 2014-07-28 13:38:04 -05:00
SocialFrameworkDemo SocialFrameworkDemo sample ported to 64-bits 2014-07-28 13:40:36 -05:00
Sound Sound sample ported to 64-bits 2014-07-29 11:25:58 -05:00
SplitView SplitView sample ported to 64-bits 2014-07-29 11:34:17 -05:00
SpriteKit PinchIt, SpriteKite and WeatherMap samples migrated to 64-bits 2014-05-17 10:44:51 -05:00
SpriteKitPhysicsCollisions SpriteKitPhysicsCollisions sample ported to 64-bits 2014-07-29 11:49:14 -05:00
SpriteTour SpriteTour sample ported to 64-bits 2014-07-29 11:54:37 -05:00
StandardControls removed duplicate samples, add moveto.md 2013-02-12 10:17:22 -08:00
Stars Stars sample ported to 64-bits 2014-07-29 11:59:53 -05:00
StoreKit Added gallery opt-in to metadata 2014-02-20 10:22:07 -05:00
StreamingAudio StreamingAudio ported to 64-bits 2014-07-30 12:45:42 -05:00
SysSound Rebuilt samples to fix bug 1842 2014-04-14 11:15:31 -04:00
Tabbed_Images Tabbed_Images sample ported to 64-bits 2014-07-30 13:05:03 -05:00
TableAndCellStyles removed duplicate samples, add moveto.md 2013-02-12 10:17:22 -08:00
TableEditing TableParts sample ported to 64-bits 2014-07-30 13:42:42 -05:00
TableParts TableParts sample ported to 64-bits 2014-07-30 13:42:42 -05:00
TextKitDemo TextKitDemo sample ported to 64-bits 2014-07-30 13:53:53 -05:00
ThreadedCoreData [ThreadedCoreData] Fix selector usages wrt new registrar [#18344] 2014-03-20 08:38:20 -04:00
TicTacToe Change TicTacToe to be Portrait only 2014-03-24 16:31:11 -04:00
Touch Rebuilt samples to fix bug 1842 2014-04-14 11:15:31 -04:00
Touches_Classic Rebuilt samples to fix bug 1842 2014-04-14 11:15:31 -04:00
Touches_GestureRecognizers Set min revision and rebuilt samples 2014-04-30 16:55:29 -04:00
Transitioning_To_Xcode_4 Added gallery opt-in to metadata 2014-02-20 10:22:07 -05:00
TransitionsDemo updating tags 2014-02-24 16:27:07 +00:00
UIImageEffects Renaming Sample, formatting markdown better 2014-03-25 11:32:36 -04:00
ViewTransitions Added gallery opt-in to metadata 2014-02-20 10:22:07 -05:00
WayUpSample Set bundleidentifier and minimum version and rebuilt sample to fix bug 1842 2014-04-29 15:58:01 -04:00
WeatherMap PinchIt, SpriteKite and WeatherMap samples migrated to 64-bits 2014-05-17 10:44:51 -05:00
Working_with_images Added gallery opt-in to metadata 2014-02-20 10:22:07 -05:00
WorldCities Rebuilt Hello_Universal/WorldCities with XS stable 4.2.3, to fix the issue reported in Bug 1842. This is also required to execute automation test in testcloud since UIDeviceFamily in Info.plist is checked to decide supported platforms 2014-04-03 12:15:03 -04:00
ZoomingPdfViewer Rebuilt samples to fix bug 1842 2014-04-14 10:53:48 -04:00
ios7fonts ios7fonts ported to 64-bits 2014-06-04 14:22:49 -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 updating README with list of tags 2014-02-20 21:40:28 +00: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 are:

      • User Interface
      • Data
      • Games
      • Graphics (CoreDrawing, Animation, OpenGL...)
      • Media (Video, Sound, recording, photos)
      • Platform Features (Photo Library, Contacts, Calendars, etc.)
      • Device Features (NFC, Accelerometer, Compass, Magnemometer, Bluetooth, RFID)
      • Cloud (Web Services, Networking, etc.)
      • Backgrounding
      • Maps & Location
      • Binding + Interop (Projections)
      • Notifications
      • Touch
      • Getting Started
      • Async
    • SupportedPlatforms: this is only for cross plat samples. It's a comma-separated list, and the valid values are iOS, Android, and Windows.

    • Gallery: This tag must contain a value of true if you want the sample to show up in the samples gallery on the developer portal.

  • 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!