Xamarin.iOS sample apps
Перейти к файлу
Amy Burns 48a09e92a0 updated README to reflect compatibility with Xcode 2013-12-11 15:50:08 +00:00
AQTapDemo updated README to reflect compatibility with Xcode 2013-12-11 15:50:08 +00:00
AUSoundTriggeredPlayingSoundMemoryBased Fix comment 2013-01-11 02:22:08 +01:00
AVCaptureFrames updated README to reflect compatibility with Xcode 2013-12-11 15:50:08 +00: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 [AppPrefs] Updating sample for iOS7 and adding updated screenshots 2013-10-21 13:44:01 +01:00
AsyncDownloadImage updated README to reflect compatibility with Xcode 2013-12-11 15:50:08 +00:00
AudioConverterFileConverter updated README to reflect compatibility with Xcode 2013-12-11 15:50:08 +00:00
AudioGenerator [AudioGenerator] Adding app icons 2013-10-21 15:40:02 +01:00
AudioQueueOfflineRenderDemo updating metadata for samples 2013-10-23 16:31:54 +01:00
BackgroundExecution [BackgroundExecution] Updating Screenshots and app icons for iOS7 2013-10-21 18:00:05 +01:00
BindingSample [BindingSample] Ignore more files. 2013-10-02 10:33:12 +02:00
BubbleCell [BubbleCell]Adjusting scroll property of cell for ios7 2013-10-21 18:43:31 +01:00
ButtonEventDemo updated README to reflect compatibility with Xcode 2013-12-11 15:50:08 +00:00
ButtonTapper3000 updated README to reflect compatibility with Xcode 2013-12-11 15:50:08 +00:00
Calendars [Calanders]Update Screenshots and app icons 2013-10-21 20:11:51 +01:00
CircleLayout [Circle Layout] Amending title 2013-10-28 15:22:10 +00:00
CollectionViewTransition [CollectionViewTransition] fixing encoding issue in README 2013-10-21 20:14:37 +01: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] Updating app icons 2013-10-22 13:19:52 +01:00
CoreLocation [CoreLocation]Updating sample app icons and screenshots for ios7 2013-10-22 13:36:00 +01:00
CoreMidiSample [CoreMidiSample]Correcting errors in README, updating screenshots and icons 2013-10-22 13:53:08 +01:00
CoreTelephonyDemo [CoreTelephony] Updating app icons and screenshots 2013-10-22 14:11:35 +01:00
CustomCollectionViewLayoutAttributes Limit the sample to portrait to fix #12521 2013-06-03 12:51:10 -04:00
CustomInputStream [CustomInputStream]updating for ios7, updating metadata for samples gallery 2013-10-23 18:11:57 +01:00
CustomPropertyAnimation [CustomPropertyAnimation]Updating metadata 2013-10-23 18:20:52 +01:00
Data [Data] Updating screenshots and app icons for ios7 2013-10-22 14:24:15 +01:00
Drawing [Drawing]updating app icons and screenshots for ios7 2013-10-22 14:38:00 +01:00
DynamicsCatalog [DynamicsCatalog]fixing encoding issue in README 2013-10-22 14:39:48 +01:00
FileSystemSampleCode [FileSystem] Adding README.md 2013-10-28 15:25:01 +00:00
FontList Workaround Apple bug (when built w/Xcode5/iOS7 and executed on iOS6) [#15397] 2013-10-22 11:24:54 -04:00
FrogScroller [FrogScroller] adding metadata, icons and screenshots 2013-10-28 17:05:07 +00:00
GLCameraRipple [GLCameraRipple] updating README, screenshots and app icons 2013-10-22 15:49:24 +01:00
GLPaint-GameView updated README to reflect compatibility with Xcode 2013-12-11 15:50:08 +00:00
GameCenterSample [GameCentreSample] moving location of README file 2013-10-28 17:11:44 +00:00
GoogleAdMobAds/binding Google AdMobs documentation 2013-01-16 13:53:56 -10:00
HelloWorld_iPhone [HelloWorldiPhone] Updating sample, screenshots, apps for ios7 2013-10-22 18:09:53 +01:00
Hello_ComplexUniversal updated README to reflect compatibility with Xcode 2013-12-11 15:50:08 +00:00
Hello_MultiScreen_iPhone [HelloMultiScreen]updating screenshots and app icons 2013-10-22 17:37:11 +01:00
Hello_Universal updated README to reflect compatibility with Xcode 2013-12-11 15:50:08 +00:00
Hello_iPad [HelloiPad] Updating screenshots and app icons for ios7 2013-10-22 16:52:54 +01:00
HttpClient Adding EdgesForExtendedLayout to remove overlapping nav bar in ios7 2013-12-10 01:13:09 +00:00
ImageProtocol [ImageProtocol] adding metadata, icons and screenshots 2013-10-28 17:26:06 +00:00
KeyValueObserving add new resources 2012-12-20 14:20:14 -05:00
Keychain [Keychain]updating app icons for ios7 2013-10-22 20:36:50 +01:00
LazyTableImages add new resources 2012-12-20 14:20:14 -05:00
LineLayout [LineLayout]Adding metadata file, screen shots and app icons 2013-10-28 18:07:23 +00: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 Changed background color of date picker to white. Fixes 14718 2013-09-21 00:47:49 +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 Called base.DidReceiveMemoryWarning() as required. 2013-10-03 10:26:11 -10: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 [Touch Cells] Set navigation bar translucent to false to fix views overlapping. Fix bug #14631 2013-09-24 22:35:55 +04:00
MotionGraphs [MotionGraphs]adding metadata and updating for ios7 2013-11-05 16:21:17 +00:00
MoviePlayback MoviePlayback - Fix bug #7223 2013-12-09 09:07:07 -09: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 Screenshot renaming caused build failure. Removed them from the project. Fixes bug #16615 2013-12-06 16:22:39 -05:00
PaintCode [Paint] Changed condition for y position change. Fix bug [14631] 2013-09-24 22:22:00 +04:00
PassKit PassKit: Fix navigation bar overlapping buttons at the top of the screen. 2013-09-13 17:06:51 -08:00
PinchIt Add missing screenshot to fix bug 15874 2013-11-04 14:56:33 -05:00
PokerNightVoting [PokerNightVoting]Updating for ios7, adding metadata.xml 2013-10-29 16:51:55 +00: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 [PrintSample]Adding metadata, updating for ios7 2013-10-29 14:52:45 +00:00
PrivacyPrompts [iOS7] update metadata tags 2013-09-18 20:48:49 -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 updated README to reflect compatibility with Xcode 2013-12-11 15:50:08 +00:00
ReachabilitySample [ReachabilitySample] Actually listen for changed events, and update the UI accordingly. 2013-10-02 10:33:12 +02:00
RecipesAndPrinting [RecipesAndPrinting] Set navigation bar translucent to false to fix views overlapping. Fix bug [14631] 2013-09-24 21:38:32 +04:00
RegionDefiner [RegionDefiner] adding metadata.xml, screenshots and app icons 2013-10-29 12:03:16 +00:00
RosyWriter Initialised variables to make RosyWriter build in VS 2013-02-20 00:11:57 -05:00
Rotation [Rotation] Set navigation bar translucent to false to fix views overlapping. Fix bug #14631 2013-09-25 01:35:14 +04:00
SearchDemo add new resources 2012-12-20 14:20:14 -05:00
SharedResources [Shared Resources] Use of custom table view instead of base class table view. Fix bug #14631 2013-09-25 01:49:18 +04:00
SimpleBackgroundTransfer [iOS7] update metadata tags 2013-09-18 20:48:49 -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 Removed invocation of selectionWillChange and selectionDidChange. Fix 14616 2013-09-21 00:47:49 +04:00
SoZoomy updated README to reflect compatibility with Xcode 2013-12-11 15:50:08 +00:00
SocialFrameworkDemo add new resources 2012-12-20 14:20:14 -05:00
Sound [Sound] Updated to iOS 7 : Switched from deprecated AudioSession properties to AVAudioSession methods 2013-10-03 10:26:12 -10:00
SplitView add new resources 2012-12-20 14:20:14 -05:00
SpriteKitPhysicsCollisions [iOS7] update metadata tags 2013-09-18 20:48:49 -04:00
SpriteTour [iOS7] update metadata tags 2013-09-18 20:48:49 -04:00
StandardControls removed duplicate samples, add moveto.md 2013-02-12 10:17:22 -08:00
Stars [Stars]Adding metadata xml 2013-10-28 18:36:25 +00:00
StoreKit Fix bug 14781 in StoreKit/NonComsumables. 2013-09-19 15:57:35 -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 TicTacToe - Fix bug 16639 2013-12-09 17:01:05 -09: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 [Touches_Classic] 8100 bugfix 2013-12-09 21:47:14 +04:00
Touches_GestureRecognizers [Touches_GestureRecognizers] 8100 bug fix, use View instead of window to handle gestures in landscape mode 2013-12-09 22:24:10 +04: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
ios7fonts Add new sample 2013-09-25 17:23:01 -04: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!