* This sample demonstrates how to use On-Demand Resource in iOS with Xamarin tools
This commit is contained in:
olegoid 2016-05-03 17:09:39 -03:00
Родитель 5c18b0a8c1
Коммит 7298ad7636
73 изменённых файлов: 2421 добавлений и 0 удалений

11
ios9/iTravel/Metadata.xml Normal file
Просмотреть файл

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<SampleMetadata>
<ID>9c001351-13e2-483e-924d-2c57a6fdbf70</ID>
<IsFullApplication>false</IsFullApplication>
<Level>Beginning</Level>
<Tags>Data, User Interface, iOS9, Platform Features</Tags>
<Gallery>True</Gallery>
<Brief>First steps with on-demand resources technology and Xamarin.</Brief>
<SupportedPlatforms>iOS</SupportedPlatforms>
<MinimumLicenseRequirement>Starter</MinimumLicenseRequirement>
</SampleMetadata>

25
ios9/iTravel/README.md Normal file
Просмотреть файл

@ -0,0 +1,25 @@
iTravel
======
This app replicates iTravel sample demonstrated on [WWDC 2015 - session 214 ](https://developer.apple.com/videos/play/wwdc2015-214/) about on-demand resources (original Swift source never been published to the official gallery). Main action happens in `AlbumViewController` class. There are three tags in this app available for downloading:
* Paris - download only on-demand
* Rotterdam - pre-fetched downloading
* Istanbul - initial downloading
You can play with tags and try different fetching settings in project's options. Official documentation about on-demand resources can be found [here](https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/On_Demand_Resources_Guide/).
Build Requirements
------------------
Building this sample requires Xcode 7.0 and iOS 9.0 SDK
Target
------
iPhone/iPod
Author
------
Copyright (C) 2015 Xamarin Inc. All rights reserved.
Ported to Xamarin.iOS by Oleg Demchenko

Двоичные данные
ios9/iTravel/Screenshots/0.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 60 KiB

Двоичные данные
ios9/iTravel/Screenshots/1.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 891 KiB

35
ios9/iTravel/iTravel.sln Normal file
Просмотреть файл

@ -0,0 +1,35 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iTravel", "iTravel\iTravel.csproj", "{67442883-6998-4A96-97DA-E7F5AD814FD3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Ad-Hoc|iPhone = Ad-Hoc|iPhone
Ad-Hoc|iPhoneSimulator = Ad-Hoc|iPhoneSimulator
AppStore|iPhone = AppStore|iPhone
AppStore|iPhoneSimulator = AppStore|iPhoneSimulator
Debug|iPhone = Debug|iPhone
Debug|iPhoneSimulator = Debug|iPhoneSimulator
Release|iPhone = Release|iPhone
Release|iPhoneSimulator = Release|iPhoneSimulator
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{67442883-6998-4A96-97DA-E7F5AD814FD3}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone
{67442883-6998-4A96-97DA-E7F5AD814FD3}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone
{67442883-6998-4A96-97DA-E7F5AD814FD3}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator
{67442883-6998-4A96-97DA-E7F5AD814FD3}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator
{67442883-6998-4A96-97DA-E7F5AD814FD3}.AppStore|iPhone.ActiveCfg = AppStore|iPhone
{67442883-6998-4A96-97DA-E7F5AD814FD3}.AppStore|iPhone.Build.0 = AppStore|iPhone
{67442883-6998-4A96-97DA-E7F5AD814FD3}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhone
{67442883-6998-4A96-97DA-E7F5AD814FD3}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhone
{67442883-6998-4A96-97DA-E7F5AD814FD3}.Debug|iPhone.ActiveCfg = Debug|iPhone
{67442883-6998-4A96-97DA-E7F5AD814FD3}.Debug|iPhone.Build.0 = Debug|iPhone
{67442883-6998-4A96-97DA-E7F5AD814FD3}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
{67442883-6998-4A96-97DA-E7F5AD814FD3}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
{67442883-6998-4A96-97DA-E7F5AD814FD3}.Release|iPhone.ActiveCfg = Release|iPhone
{67442883-6998-4A96-97DA-E7F5AD814FD3}.Release|iPhone.Build.0 = Release|iPhone
{67442883-6998-4A96-97DA-E7F5AD814FD3}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
{67442883-6998-4A96-97DA-E7F5AD814FD3}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
EndGlobalSection
EndGlobal

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

@ -0,0 +1,114 @@
using System;
using System.Collections.Generic;
using Foundation;
using UIKit;
using Newtonsoft.Json;
namespace iTravel {
public partial class AlbumViewController : UIViewController, IUITableViewDataSource, IUITableViewDelegate {
string textCellIdentifier = "DataItem";
IntPtr progressObserverContext = IntPtr.Zero;
NSBundleResourceRequest request;
List<PreviewDetail> previewDetails = new List<PreviewDetail> ();
protected AlbumViewController(IntPtr handle) : base (handle)
{
}
public void LoadAlbum (string whichAlbum)
{
request = new NSBundleResourceRequest (new[] { whichAlbum });
request.Progress.AddObserver (this, "fractionCompleted", NSKeyValueObservingOptions.New | NSKeyValueObservingOptions.Initial, progressObserverContext);
if (ProgressView != null)
ProgressView.Hidden = false;
request.BeginAccessingResources (error => {
NSOperationQueue.MainQueue.AddOperation (() => {
if (error != null) {
Console.WriteLine ("Error occurred: {0}", error.LocalizedDescription);
return;
}
ProgressView.Hidden = true;
PopulateCollectionView (whichAlbum.ToLower ());
ProgressView.Progress = 1f;
DetailsLabel.Text = "Loaded";
});
});
}
public override void ObserveValue (NSString keyPath, NSObject ofObject, NSDictionary change, IntPtr context)
{
if (context == progressObserverContext && keyPath == "fractionCompleted") {
NSOperationQueue.MainQueue.AddOperation (() => {
var progress = ofObject as NSProgress;
ProgressView.Progress = (float)progress.FractionCompleted;
DetailsLabel.Text = progress.LocalizedDescription;
});
} else {
base.ObserveValue (keyPath, ofObject, change, context);
}
}
public override void ViewDidUnload ()
{
request.Progress.RemoveObserver (this, "fractionCompleted");
}
void PopulateCollectionView (string whichAlbum)
{
var tableData= new NSDataAsset (whichAlbum);
if (tableData == null)
return;
try {
var jsonString = NSString.FromData (tableData.Data, NSStringEncoding.UTF8);
previewDetails = JsonConvert.DeserializeObject<List<PreviewDetail>> (jsonString);
CustomTableView.ReloadData ();
} catch (Exception e) {
Console.WriteLine ("Error occurred: {0}", e.Message);
}
}
public override void PrepareForSegue (UIStoryboardSegue segue, NSObject sender)
{
if (segue.Identifier != "showPicture")
return;
var albumViewController = segue.DestinationViewController as ImageViewController;
var selectedRowIndex = CustomTableView.IndexPathForSelectedRow.Row;
albumViewController.PictureName = previewDetails[selectedRowIndex].Picture;
albumViewController.Title = previewDetails[selectedRowIndex].Caption;
}
[Export ("numberOfSectionsInTableView:")]
public nint NumberOfSections (UITableView tableView)
{
return 1;
}
[Export ("tableView:numberOfRowsInSection:")]
public nint RowsInSection (UITableView tableView, nint section)
{
return previewDetails.Count;
}
[Export ("tableView:cellForRowAtIndexPath:")]
public UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath)
{
var cell = tableView.DequeueReusableCell (textCellIdentifier, indexPath);
var item = previewDetails [indexPath.Row];
cell.TextLabel.Text = item.Caption;
return cell;
}
}
}

46
ios9/iTravel/iTravel/AlbumViewController.designer.cs сгенерированный Normal file
Просмотреть файл

@ -0,0 +1,46 @@
// WARNING
//
// This file has been generated automatically by Xamarin Studio from the outlets and
// actions declared in your storyboard file.
// Manual changes to this file will not be maintained.
//
using Foundation;
using System;
using System.CodeDom.Compiler;
using UIKit;
namespace iTravel
{
[Register ("AlbumViewController")]
partial class AlbumViewController
{
[Outlet]
UIKit.UITableView CustomTableView { get; set; }
[Outlet]
UIKit.UILabel DetailsLabel { get; set; }
[Outlet]
UIKit.UIProgressView ProgressView { get; set; }
void ReleaseDesignerOutlets ()
{
if (CustomTableView != null) {
CustomTableView.Dispose ();
CustomTableView = null;
}
if (DetailsLabel != null) {
DetailsLabel.Dispose ();
DetailsLabel = null;
}
if (ProgressView != null) {
ProgressView.Dispose ();
ProgressView = null;
}
}
}
}

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

@ -0,0 +1,11 @@
using Foundation;
using UIKit;
namespace iTravel {
[Register("AppDelegate")]
public class AppDelegate : UIApplicationDelegate {
public override UIWindow Window { get; set; }
}
}

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

@ -0,0 +1,254 @@
{
"images" : [
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "icon-spotlight-29.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "icon-spotlight-29@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "icon-spotlight-29@3x.png",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "icon-spotlight-40@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "icon-app-60@2x.png",
"scale" : "3x"
},
{
"size" : "57x57",
"idiom" : "iphone",
"filename" : "icon-app-57.png",
"scale" : "1x"
},
{
"size" : "57x57",
"idiom" : "iphone",
"filename" : "icon-spp-57@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "icon-app-60@2x.png",
"scale" : "2x"
},
{
"filename": "Icon-app-60@3x.png",
"size": "60x60",
"scale": "3x",
"idiom": "iphone"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "icon-spotlight-29.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "icon-spotlight-29@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "icon-spotlight-40.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "icon-spotlight-40@2x.png",
"scale" : "2x"
},
{
"size" : "50x50",
"idiom" : "ipad",
"filename" : "icon-spotlight-50.png",
"scale" : "1x"
},
{
"size" : "50x50",
"idiom" : "ipad",
"filename" : "icon-spotlight-50@2x.png",
"scale" : "2x"
},
{
"size" : "72x72",
"idiom" : "ipad",
"filename" : "icon-app-72.png",
"scale" : "1x"
},
{
"size" : "72x72",
"idiom" : "ipad",
"filename" : "icon-app-72@2x.png",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "icon-app-76.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "icon-app-76@2x.png",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "83.5x83.5",
"scale" : "2x"
},
{
"filename": "icon-app-60@2x.png",
"size": "60x60",
"scale": "2x",
"idiom": "car"
},
{
"size": "60x60",
"scale": "3x",
"idiom": "car"
},
{
"size" : "27.5x27.5",
"idiom" : "watch",
"filename" : "icon-watch-55.png",
"scale" : "2x",
"role" : "notificationCenter",
"subtype" : "42mm"
},
{
"size" : "29x29",
"idiom" : "watch",
"filename" : "icon-watch-29@2x.png",
"role" : "companionSettings",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "watch",
"filename" : "icon-watch-29@3x.png",
"role" : "companionSettings",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "watch",
"filename" : "icon-watch-40@2x.png",
"scale" : "2x",
"role" : "appLauncher",
"subtype" : "38mm"
},
{
"size" : "44x44",
"idiom" : "watch",
"filename" : "icon-watch-44@2x.png",
"scale" : "2x",
"role" : "longLook",
"subtype" : "42mm"
},
{
"size" : "86x86",
"idiom" : "watch",
"filename" : "icon-watch-172.png",
"scale" : "2x",
"role" : "quickLook",
"subtype" : "38mm"
},
{
"size" : "98x98",
"idiom" : "watch",
"filename" : "icon-watch-196.png",
"scale" : "2x",
"role" : "quickLook",
"subtype" : "42mm"
},
{
"idiom" : "mac",
"size" : "16x16",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "16x16",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "32x32",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "32x32",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "128x128",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "128x128",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "256x256",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "256x256",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "512x512",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "512x512",
"scale" : "2x"
},
{
"size" : "120x120",
"idiom" : "iphone",
"filename" : "Icon-app-60@3x.png",
"scale" : "3x"
},
{
"size" : "120x120",
"idiom" : "car",
"filename" : "icon-app-60@2x.png",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 5.0 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.6 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 3.3 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.8 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 4.0 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 2.0 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 4.3 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 3.3 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 900 B

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.8 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 2.5 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.1 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 2.2 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 3.3 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.5 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 3.1 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 3.1 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 5.0 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 5.5 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.6 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 2.2 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 2.1 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 2.3 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.2 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.5 KiB

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

@ -0,0 +1,83 @@
{
"images": [
{
"idiom": "universal"
},
{
"scale": "1x",
"idiom": "universal"
},
{
"scale": "2x",
"idiom": "universal"
},
{
"scale": "3x",
"idiom": "universal"
},
{
"idiom": "iphone"
},
{
"scale": "1x",
"idiom": "iphone"
},
{
"scale": "2x",
"idiom": "iphone"
},
{
"subtype": "retina4",
"scale": "2x",
"idiom": "iphone"
},
{
"scale": "3x",
"idiom": "iphone"
},
{
"idiom": "ipad"
},
{
"scale": "1x",
"idiom": "ipad"
},
{
"scale": "2x",
"idiom": "ipad"
},
{
"idiom": "watch"
},
{
"scale": "2x",
"idiom": "watch"
},
{
"screenWidth": "{130,145}",
"scale": "2x",
"idiom": "watch"
},
{
"screenWidth": "{146,165}",
"scale": "2x",
"idiom": "watch"
},
{
"idiom": "mac"
},
{
"scale": "1x",
"idiom": "mac"
},
{
"scale": "2x",
"idiom": "mac"
}
],
"info": {
"version": 1,
"author": "xcode",
"template-rendering-intent": "original"
}
}

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

@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}

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

@ -0,0 +1,85 @@
{
"images": [
{
"idiom": "universal"
},
{
"filename": "splash-xamagon.png",
"scale": "1x",
"idiom": "universal"
},
{
"filename": "splash-xamagon@2x.png",
"scale": "2x",
"idiom": "universal"
},
{
"filename": "splash-xamagon@3x.png",
"scale": "3x",
"idiom": "universal"
},
{
"idiom": "iphone"
},
{
"scale": "1x",
"idiom": "iphone"
},
{
"scale": "2x",
"idiom": "iphone"
},
{
"subtype": "retina4",
"scale": "2x",
"idiom": "iphone"
},
{
"scale": "3x",
"idiom": "iphone"
},
{
"idiom": "ipad"
},
{
"scale": "1x",
"idiom": "ipad"
},
{
"scale": "2x",
"idiom": "ipad"
},
{
"idiom": "watch"
},
{
"scale": "2x",
"idiom": "watch"
},
{
"screenWidth": "{130,145}",
"scale": "2x",
"idiom": "watch"
},
{
"screenWidth": "{146,165}",
"scale": "2x",
"idiom": "watch"
},
{
"idiom": "mac"
},
{
"scale": "1x",
"idiom": "mac"
},
{
"scale": "2x",
"idiom": "mac"
}
],
"info": {
"version": 1,
"author": "xcode"
}
}

Двоичные данные
ios9/iTravel/iTravel/Assets.xcassets/Logo.spriteatlas/Sprite.imageset/splash-xamagon.png поставляемый Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 6.3 KiB

Двоичные данные
ios9/iTravel/iTravel/Assets.xcassets/Logo.spriteatlas/Sprite.imageset/splash-xamagon@2x.png поставляемый Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 16 KiB

Двоичные данные
ios9/iTravel/iTravel/Assets.xcassets/Logo.spriteatlas/Sprite.imageset/splash-xamagon@3x.png поставляемый Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 29 KiB

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

@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}

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

@ -0,0 +1,83 @@
{
"images": [
{
"idiom": "universal"
},
{
"scale": "1x",
"idiom": "universal"
},
{
"scale": "2x",
"idiom": "universal"
},
{
"scale": "3x",
"idiom": "universal"
},
{
"idiom": "iphone"
},
{
"scale": "1x",
"idiom": "iphone"
},
{
"scale": "2x",
"idiom": "iphone"
},
{
"subtype": "retina4",
"scale": "2x",
"idiom": "iphone"
},
{
"scale": "3x",
"idiom": "iphone"
},
{
"idiom": "ipad"
},
{
"scale": "1x",
"idiom": "ipad"
},
{
"scale": "2x",
"idiom": "ipad"
},
{
"idiom": "watch"
},
{
"scale": "2x",
"idiom": "watch"
},
{
"screenWidth": "{130,145}",
"scale": "2x",
"idiom": "watch"
},
{
"screenWidth": "{146,165}",
"scale": "2x",
"idiom": "watch"
},
{
"idiom": "mac"
},
{
"scale": "1x",
"idiom": "mac"
},
{
"scale": "2x",
"idiom": "mac"
}
],
"info": {
"version": 1,
"author": "xcode",
"template-rendering-intent": "template"
}
}

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

@ -0,0 +1,306 @@
{
"data": [
{
"idiom": "universal",
"filename": "istanbul.json",
"universal-type-identifier": "public.json"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal1v2"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal2v2"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal3v1"
},
{
"idiom": "universal",
"memory": "1GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal1v2",
"memory": "1GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal2v2",
"memory": "1GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal3v1",
"memory": "1GB"
},
{
"idiom": "universal",
"memory": "2GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal1v2",
"memory": "2GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal2v2",
"memory": "2GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal3v1",
"memory": "2GB"
},
{
"idiom": "universal",
"memory": "4GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal1v2",
"memory": "4GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal2v2",
"memory": "4GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal3v1",
"memory": "4GB"
},
{
"idiom": "iphone"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal1v2"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal2v2"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal3v1"
},
{
"idiom": "iphone",
"memory": "1GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal1v2",
"memory": "1GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal2v2",
"memory": "1GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal3v1",
"memory": "1GB"
},
{
"idiom": "iphone",
"memory": "2GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal1v2",
"memory": "2GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal2v2",
"memory": "2GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal3v1",
"memory": "2GB"
},
{
"idiom": "iphone",
"memory": "4GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal1v2",
"memory": "4GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal2v2",
"memory": "4GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal3v1",
"memory": "4GB"
},
{
"idiom": "ipad"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal1v2"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal2v2"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal3v1"
},
{
"idiom": "ipad",
"memory": "1GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal1v2",
"memory": "1GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal2v2",
"memory": "1GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal3v1",
"memory": "1GB"
},
{
"idiom": "ipad",
"memory": "2GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal1v2",
"memory": "2GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal2v2",
"memory": "2GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal3v1",
"memory": "2GB"
},
{
"idiom": "ipad",
"memory": "4GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal1v2",
"memory": "4GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal2v2",
"memory": "4GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal3v1",
"memory": "4GB"
},
{
"idiom": "watch"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal1v2"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal2v2"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal3v1"
},
{
"idiom": "watch",
"memory": "1GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal1v2",
"memory": "1GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal2v2",
"memory": "1GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal3v1",
"memory": "1GB"
},
{
"idiom": "watch",
"memory": "2GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal1v2",
"memory": "2GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal2v2",
"memory": "2GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal3v1",
"memory": "2GB"
},
{
"idiom": "watch",
"memory": "4GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal1v2",
"memory": "4GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal2v2",
"memory": "4GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal3v1",
"memory": "4GB"
},
{
"idiom": "mac"
}
],
"info": {
"version": 1,
"author": "xcode"
},
"properties": {
"on-demand-resource-tags": [
"Istanbul"
]
}
}

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

@ -0,0 +1,5 @@
[
{"picture":"/Istanbul/Istanbul_01", "caption":"Sultan Ahmed Mosque - Architecture"},
{"picture":"/Istanbul/Istanbul_02", "caption":"Random place near Taksim - Urban"},
{"picture":"/Istanbul/Istanbul_03", "caption":"Galata bridge - Urban"}
]

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

@ -0,0 +1,306 @@
{
"data": [
{
"idiom": "universal",
"filename": "paris.json",
"universal-type-identifier": "public.json"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal1v2"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal2v2"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal3v1"
},
{
"idiom": "universal",
"memory": "1GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal1v2",
"memory": "1GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal2v2",
"memory": "1GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal3v1",
"memory": "1GB"
},
{
"idiom": "universal",
"memory": "2GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal1v2",
"memory": "2GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal2v2",
"memory": "2GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal3v1",
"memory": "2GB"
},
{
"idiom": "universal",
"memory": "4GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal1v2",
"memory": "4GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal2v2",
"memory": "4GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal3v1",
"memory": "4GB"
},
{
"idiom": "iphone"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal1v2"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal2v2"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal3v1"
},
{
"idiom": "iphone",
"memory": "1GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal1v2",
"memory": "1GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal2v2",
"memory": "1GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal3v1",
"memory": "1GB"
},
{
"idiom": "iphone",
"memory": "2GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal1v2",
"memory": "2GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal2v2",
"memory": "2GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal3v1",
"memory": "2GB"
},
{
"idiom": "iphone",
"memory": "4GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal1v2",
"memory": "4GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal2v2",
"memory": "4GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal3v1",
"memory": "4GB"
},
{
"idiom": "ipad"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal1v2"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal2v2"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal3v1"
},
{
"idiom": "ipad",
"memory": "1GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal1v2",
"memory": "1GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal2v2",
"memory": "1GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal3v1",
"memory": "1GB"
},
{
"idiom": "ipad",
"memory": "2GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal1v2",
"memory": "2GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal2v2",
"memory": "2GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal3v1",
"memory": "2GB"
},
{
"idiom": "ipad",
"memory": "4GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal1v2",
"memory": "4GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal2v2",
"memory": "4GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal3v1",
"memory": "4GB"
},
{
"idiom": "watch"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal1v2"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal2v2"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal3v1"
},
{
"idiom": "watch",
"memory": "1GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal1v2",
"memory": "1GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal2v2",
"memory": "1GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal3v1",
"memory": "1GB"
},
{
"idiom": "watch",
"memory": "2GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal1v2",
"memory": "2GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal2v2",
"memory": "2GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal3v1",
"memory": "2GB"
},
{
"idiom": "watch",
"memory": "4GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal1v2",
"memory": "4GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal2v2",
"memory": "4GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal3v1",
"memory": "4GB"
},
{
"idiom": "mac"
}
],
"info": {
"version": 1,
"author": "xcode"
},
"properties": {
"on-demand-resource-tags": [
"Paris"
]
}
}

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

@ -0,0 +1,6 @@
[
{"picture":"/Paris/Paris_01", "caption":"Notre dame de paris - Architecture"},
{"picture":"/Paris/Paris_02", "caption":"Kosher Pizza - Culture"},
{"picture":"/Paris/Paris_03", "caption":"Champs-Élysées - Culture"},
{"picture":"/Paris/Paris_04", "caption":"Metro station - Urban"}
]

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

@ -0,0 +1,306 @@
{
"data": [
{
"idiom": "universal",
"filename": "rotterdam.json",
"universal-type-identifier": "public.json"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal1v2"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal2v2"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal3v1"
},
{
"idiom": "universal",
"memory": "1GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal1v2",
"memory": "1GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal2v2",
"memory": "1GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal3v1",
"memory": "1GB"
},
{
"idiom": "universal",
"memory": "2GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal1v2",
"memory": "2GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal2v2",
"memory": "2GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal3v1",
"memory": "2GB"
},
{
"idiom": "universal",
"memory": "4GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal1v2",
"memory": "4GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal2v2",
"memory": "4GB"
},
{
"idiom": "universal",
"graphicsFeatureSet": "metal3v1",
"memory": "4GB"
},
{
"idiom": "iphone"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal1v2"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal2v2"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal3v1"
},
{
"idiom": "iphone",
"memory": "1GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal1v2",
"memory": "1GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal2v2",
"memory": "1GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal3v1",
"memory": "1GB"
},
{
"idiom": "iphone",
"memory": "2GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal1v2",
"memory": "2GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal2v2",
"memory": "2GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal3v1",
"memory": "2GB"
},
{
"idiom": "iphone",
"memory": "4GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal1v2",
"memory": "4GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal2v2",
"memory": "4GB"
},
{
"idiom": "iphone",
"graphicsFeatureSet": "metal3v1",
"memory": "4GB"
},
{
"idiom": "ipad"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal1v2"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal2v2"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal3v1"
},
{
"idiom": "ipad",
"memory": "1GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal1v2",
"memory": "1GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal2v2",
"memory": "1GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal3v1",
"memory": "1GB"
},
{
"idiom": "ipad",
"memory": "2GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal1v2",
"memory": "2GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal2v2",
"memory": "2GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal3v1",
"memory": "2GB"
},
{
"idiom": "ipad",
"memory": "4GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal1v2",
"memory": "4GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal2v2",
"memory": "4GB"
},
{
"idiom": "ipad",
"graphicsFeatureSet": "metal3v1",
"memory": "4GB"
},
{
"idiom": "watch"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal1v2"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal2v2"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal3v1"
},
{
"idiom": "watch",
"memory": "1GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal1v2",
"memory": "1GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal2v2",
"memory": "1GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal3v1",
"memory": "1GB"
},
{
"idiom": "watch",
"memory": "2GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal1v2",
"memory": "2GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal2v2",
"memory": "2GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal3v1",
"memory": "2GB"
},
{
"idiom": "watch",
"memory": "4GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal1v2",
"memory": "4GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal2v2",
"memory": "4GB"
},
{
"idiom": "watch",
"graphicsFeatureSet": "metal3v1",
"memory": "4GB"
},
{
"idiom": "mac"
}
],
"info": {
"version": 1,
"author": "xcode"
},
"properties": {
"on-demand-resource-tags": [
"Rotterdam"
]
}
}

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

@ -0,0 +1,5 @@
[
{"picture":"/Rotterdam/Rotterdam_01", "caption":"Modern Arts Museum - Culture"},
{"picture":"/Rotterdam/Rotterdam_02", "caption":"Demrak street - Architecture"},
{"picture":"/Rotterdam/Rotterdam_03", "caption":"Cube apartments - House"}
]

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

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>

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

@ -0,0 +1,25 @@
using System;
using Foundation;
using UIKit;
namespace iTravel {
public partial class ImageViewController : UIViewController {
public string PictureName { get; set; }
protected ImageViewController(IntPtr handle) : base (handle)
{
}
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
if (string.IsNullOrEmpty (PictureName))
Console.WriteLine ("PictureName property is empty string or null, it's not good.");
var imagePath = NSBundle.MainBundle.PathForResource (PictureName, "jpg");
ImageView.Image = UIImage.FromFile (imagePath);
}
}
}

28
ios9/iTravel/iTravel/ImageViewController.designer.cs сгенерированный Normal file
Просмотреть файл

@ -0,0 +1,28 @@
// WARNING
//
// This file has been generated automatically by Xamarin Studio from the outlets and
// actions declared in your storyboard file.
// Manual changes to this file will not be maintained.
//
using Foundation;
using System;
using System.CodeDom.Compiler;
using UIKit;
namespace iTravel
{
[Register ("ImageViewController")]
partial class ImageViewController
{
[Outlet]
UIKit.UIImageView ImageView { get; set; }
void ReleaseDesignerOutlets ()
{
if (ImageView != null) {
ImageView.Dispose ();
ImageView = null;
}
}
}
}

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

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleName</key>
<string>iTravel</string>
<key>CFBundleIdentifier</key>
<string>com.xamarin.iTravel</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>MinimumOSVersion</key>
<string>9.0</string>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
</array>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>XSAppIconAssets</key>
<string>Assets.xcassets/AppIcons.appiconset</string>
<key>CFBundleVersion</key>
<string>1.7</string>
</dict>
</plist>

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

@ -0,0 +1,13 @@
using UIKit;
namespace iTravel {
public class Application {
// This is the main entry point of the application.
static void Main(string[] args)
{
// if you want to use a different Application Delegate class from "AppDelegate"
// you can specify it here.
UIApplication.Main (args, null, "AppDelegate");
}
}
}

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

@ -0,0 +1,177 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="15A279b" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="DLi-Vz-vvd">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
</dependencies>
<scenes>
<!--iTravel-->
<scene sceneID="tmV-3N-dfa">
<objects>
<tableViewController id="80N-Ms-0m9" customClass="ViewController" sceneMemberID="viewController">
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" id="gwd-n1-xTG">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" reuseIdentifier="Cell" textLabel="dqJ-Qb-Ea0" rowHeight="44" style="IBUITableViewCellStyleDefault" id="KQu-3O-s4t">
<rect key="frame" x="0.0" y="92" width="600" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KQu-3O-s4t" id="6jf-z0-k0Q">
<rect key="frame" x="0.0" y="0.0" width="567" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Title" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="dqJ-Qb-Ea0">
<rect key="frame" x="15" y="0.0" width="550" height="43.5"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</tableViewCellContentView>
<connections>
<segue destination="OEh-qW-Wjc" kind="show" identifier="showDetail" id="297-cE-gIm"/>
</connections>
</tableViewCell>
</prototypes>
<connections>
<outlet property="dataSource" destination="80N-Ms-0m9" id="nkO-jS-Zy8"/>
<outlet property="delegate" destination="80N-Ms-0m9" id="vAh-Bg-W2X"/>
</connections>
</tableView>
<navigationItem key="navigationItem" title="iTravel" id="pWp-4s-E2k"/>
</tableViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="aBv-bG-P4L" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-317" y="463"/>
</scene>
<!--Album View Controller-->
<scene sceneID="nt0-2H-bkL">
<objects>
<viewController id="OEh-qW-Wjc" customClass="AlbumViewController" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Eaq-Rn-S0W"/>
<viewControllerLayoutGuide type="bottom" id="0rj-4V-lS3"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="114-ae-YYT">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="M9i-pp-8dj">
<rect key="frame" x="0.0" y="510" width="600" height="90"/>
<subviews>
<progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" progress="0.5" translatesAutoresizingMaskIntoConstraints="NO" id="SOa-gc-Jgo">
<rect key="frame" x="8" y="68" width="584" height="2"/>
</progressView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ylg-9T-0cB">
<rect key="frame" x="295" y="35" width="10.5" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="Ylg-9T-0cB" firstAttribute="centerX" secondItem="M9i-pp-8dj" secondAttribute="centerX" id="2A7-2v-BmI"/>
<constraint firstAttribute="bottom" secondItem="SOa-gc-Jgo" secondAttribute="bottom" constant="20" id="6F2-yv-yge"/>
<constraint firstItem="Ylg-9T-0cB" firstAttribute="centerY" secondItem="M9i-pp-8dj" secondAttribute="centerY" id="CU3-IH-wid"/>
<constraint firstItem="SOa-gc-Jgo" firstAttribute="leading" secondItem="M9i-pp-8dj" secondAttribute="leading" constant="8" id="U10-sZ-20W"/>
<constraint firstAttribute="height" constant="90" id="rvN-sa-yQQ"/>
<constraint firstAttribute="trailing" secondItem="SOa-gc-Jgo" secondAttribute="trailing" constant="8" id="uI3-jf-s7i"/>
<constraint firstItem="SOa-gc-Jgo" firstAttribute="top" secondItem="Ylg-9T-0cB" secondAttribute="bottom" constant="12" id="zrI-6N-YRD"/>
</constraints>
</view>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="Zvx-Ml-UsP">
<rect key="frame" x="0.0" y="64" width="600" height="446"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="DataItem" rowHeight="44" id="5Ld-eY-gWR">
<rect key="frame" x="0.0" y="28" width="600" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="5Ld-eY-gWR" id="cyz-4K-ILU">
<rect key="frame" x="0.0" y="0.0" width="567" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
</tableViewCellContentView>
<connections>
<segue destination="ViA-Mm-o7J" kind="show" identifier="showPicture" id="1xU-HU-mbh"/>
</connections>
</tableViewCell>
</prototypes>
<connections>
<outlet property="dataSource" destination="OEh-qW-Wjc" id="2Id-7T-aWL"/>
<outlet property="delegate" destination="OEh-qW-Wjc" id="ycw-XA-CjQ"/>
</connections>
</tableView>
</subviews>
<constraints>
<constraint firstItem="Zvx-Ml-UsP" firstAttribute="top" secondItem="Eaq-Rn-S0W" secondAttribute="bottom" id="1dZ-bp-BRc"/>
<constraint firstItem="0rj-4V-lS3" firstAttribute="top" secondItem="M9i-pp-8dj" secondAttribute="bottom" id="1l9-pq-HuT"/>
<constraint firstAttribute="trailing" secondItem="Zvx-Ml-UsP" secondAttribute="trailing" id="gGt-JN-q26"/>
<constraint firstItem="Zvx-Ml-UsP" firstAttribute="leading" secondItem="114-ae-YYT" secondAttribute="leading" id="j8V-Vo-fAU"/>
<constraint firstItem="M9i-pp-8dj" firstAttribute="leading" secondItem="114-ae-YYT" secondAttribute="leading" id="oIA-J8-bIY"/>
<constraint firstAttribute="trailing" secondItem="M9i-pp-8dj" secondAttribute="trailing" id="weD-5a-jsH"/>
<constraint firstItem="M9i-pp-8dj" firstAttribute="top" secondItem="Zvx-Ml-UsP" secondAttribute="bottom" id="x6e-8P-X1i"/>
</constraints>
</view>
<navigationItem key="navigationItem" id="Glj-WB-Ncs"/>
<connections>
<outlet property="CustomTableView" destination="Zvx-Ml-UsP" id="T2x-up-exs"/>
<outlet property="DetailsLabel" destination="Ylg-9T-0cB" id="qv3-j0-4kB"/>
<outlet property="ProgressView" destination="SOa-gc-Jgo" id="CH6-SK-44O"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="jw2-zh-w02" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="433" y="463"/>
</scene>
<!--Image View Controller-->
<scene sceneID="JCM-Ou-C6A">
<objects>
<viewController id="ViA-Mm-o7J" customClass="ImageViewController" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="pTy-pT-qFP"/>
<viewControllerLayoutGuide type="bottom" id="Vx5-4K-Y5J"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="7bE-5H-vbe">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="4os-32-hyk">
<rect key="frame" x="0.0" y="64" width="600" height="536"/>
</imageView>
</subviews>
<color key="backgroundColor" red="0.90196079019999997" green="0.90196079019999997" blue="0.90196079019999997" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstItem="4os-32-hyk" firstAttribute="leading" secondItem="7bE-5H-vbe" secondAttribute="leading" id="Orz-gK-9bt"/>
<constraint firstAttribute="trailing" secondItem="4os-32-hyk" secondAttribute="trailing" id="RIh-VI-2hD"/>
<constraint firstItem="Vx5-4K-Y5J" firstAttribute="top" secondItem="4os-32-hyk" secondAttribute="bottom" id="iLR-hd-Dqw"/>
<constraint firstItem="4os-32-hyk" firstAttribute="top" secondItem="pTy-pT-qFP" secondAttribute="bottom" id="wcw-WM-ImW"/>
</constraints>
</view>
<navigationItem key="navigationItem" id="3vk-Hi-GjJ"/>
<connections>
<outlet property="ImageView" destination="4os-32-hyk" id="PTq-md-dgn"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="mGh-r9-mba" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="433" y="1258"/>
</scene>
<!--Navigation Controller-->
<scene sceneID="Qoz-WI-9E7">
<objects>
<navigationController id="DLi-Vz-vvd" sceneMemberID="viewController">
<navigationBar key="navigationBar" contentMode="scaleToFill" id="ePS-fK-0vj">
<rect key="frame" x="0.0" y="20" width="432" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<connections>
<segue destination="80N-Ms-0m9" kind="relationship" relationship="rootViewController" id="H54-rp-Fvo"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="U6f-8q-isQ" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-1138" y="463"/>
</scene>
</scenes>
</document>

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

@ -0,0 +1,12 @@
using Newtonsoft.Json;
namespace iTravel {
public class PreviewDetail {
[JsonProperty ("picture")]
public string Picture { get; set; }
[JsonProperty ("caption")]
public string Caption { get; set; }
}
}

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

@ -0,0 +1,29 @@
%PDF-1.4
%âãÏÓ
1 0 obj <</Filter/FlateDecode/Length 181>>stream
xϵR;
Â@íçs0;ûM+Ø<16> ± *…¤ñúÎîšD;•Èï±ó> I«Ú¡R–1¶°ŽÐ@/Cò^…­0/:8Ãn ðŒ]@na ls@0NüÉXñjÃÂh²)Q?8ªšk£<6B>*åÈAfm5§/ÃŽùêÑ3îgÇœ2^<5E>æ¥Æy
[ª†ÒeÚ³´Áè·J–/Vĉ-UùõgÿU“çæF„"
endstream
endobj
3 0 obj<</Contents 1 0 R/Type/Page/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>/Parent 2 0 R/MediaBox[0 0 756 1188]>>
endobj
2 0 obj<</Kids[3 0 R]/Type/Pages/Count 1>>
endobj
4 0 obj<</Type/Catalog/Pages 2 0 R>>
endobj
5 0 obj<</ModDate(D:20160122032803Z)/Creator(http://www.fileformat.info/convert/image/svg2pdf.htm)/CreationDate(D:20160122032803Z)/Producer(iText1.2.3 by lowagie.com \(based on itext-paulo-152\))>>
endobj
xref
0 6
0000000000 65535 f
0000000015 00000 n
0000000402 00000 n
0000000263 00000 n
0000000452 00000 n
0000000496 00000 n
trailer
<</Info 5 0 R/ID [<7b58ddbb569f3bc5a69b23f5ee813c10><7b58ddbb569f3bc5a69b23f5ee813c10>]/Root 4 0 R/Size 6>>
startxref
701
%%EOF

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

@ -0,0 +1,29 @@
%PDF-1.4
%âãÏÓ
1 0 obj <</Filter/FlateDecode/Length 182>>stream
xœµ±
Â@ †÷<Ež $×Ë5]Á¡Pp·¢"Uh_ßÜ•k§.ùÿŸÀ °k¡ È,Ûö-40X=©âÓÂ* 3Ó ‡;œàŒopx°µÎÂ.¨¦<>ŠØMÚÒ;ëhæ4™¬6(
vµg¤ÂU^"%b¼ýèuMGgMž/ŠÅ%k5F˜}æÖ*ºRì,¦Z#$hXÏ •¦¼Ì­¹ÿßþîo5©>+·…(
endstream
endobj
3 0 obj<</Contents 1 0 R/Type/Page/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>/Parent 2 0 R/MediaBox[0 0 756 1188]>>
endobj
2 0 obj<</Kids[3 0 R]/Type/Pages/Count 1>>
endobj
4 0 obj<</Type/Catalog/Pages 2 0 R>>
endobj
5 0 obj<</ModDate(D:20160122033021Z)/Creator(http://www.fileformat.info/convert/image/svg2pdf.htm)/CreationDate(D:20160122033021Z)/Producer(iText1.2.3 by lowagie.com \(based on itext-paulo-152\))>>
endobj
xref
0 6
0000000000 65535 f
0000000015 00000 n
0000000403 00000 n
0000000264 00000 n
0000000453 00000 n
0000000497 00000 n
trailer
<</Info 5 0 R/ID [<31bc3733c6fafe77c09ce7abaa7ea71b><31bc3733c6fafe77c09ce7abaa7ea71b>]/Root 4 0 R/Size 6>>
startxref
702
%%EOF

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

@ -0,0 +1,27 @@
%PDF-1.4
%âãÏÓ
1 0 obj <</Filter/FlateDecode/Length 318>>stream
xœµSMK1 ½çW䄶IÓö*x<, xO³¨È*¬ÿ¾é×ì^<1D>š×ä½äu¦g¸Y€½<>—#Ü.p€³-gG9ã»O<>¢n{Kœàà<~AÀ;+{ïðŸ@5~eÔ¨sYEnÛ{¦Kí`P.. #Ç%´½ÂÏ—?J=7Ï“3óÆEez®ËÚpaJcãM„Ä#s"Í4ÕD Wð%“×¼ø+ÂD¦eU¨2Ń“Z5\aô¨`4„«¹Öþ~¼VqO¿p&fä(TŠuX!ˆM•¬fd£MÔ]w RH¡<;0ç½[‡c<E280A1>A»šq<C5A1>÷Ë·µÞ¬fO0F¥¬T¼·»A<C2BB>\§Øpd!WŸÆ¨WnÇ{~±ÿ¯þÝó>´õ ½2Ϙ
endstream
endobj
3 0 obj<</Contents 1 0 R/Type/Page/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>/Parent 2 0 R/MediaBox[0 0 756 1188]>>
endobj
2 0 obj<</Kids[3 0 R]/Type/Pages/Count 1>>
endobj
4 0 obj<</Type/Catalog/Pages 2 0 R>>
endobj
5 0 obj<</ModDate(D:20160122033049Z)/Creator(http://www.fileformat.info/convert/image/svg2pdf.htm)/CreationDate(D:20160122033049Z)/Producer(iText1.2.3 by lowagie.com \(based on itext-paulo-152\))>>
endobj
xref
0 6
0000000000 65535 f
0000000015 00000 n
0000000539 00000 n
0000000400 00000 n
0000000589 00000 n
0000000633 00000 n
trailer
<</Info 5 0 R/ID [<5c9eb2d4ee97db8e1abbfc47a899ab82><5c9eb2d4ee97db8e1abbfc47a899ab82>]/Root 4 0 R/Size 6>>
startxref
838
%%EOF

Двоичные данные
ios9/iTravel/iTravel/Resources/Istanbul/Istanbul_01.jpg Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 145 KiB

Двоичные данные
ios9/iTravel/iTravel/Resources/Istanbul/Istanbul_02.jpg Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 164 KiB

Двоичные данные
ios9/iTravel/iTravel/Resources/Istanbul/Istanbul_03.jpg Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 86 KiB

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

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="8152.3" systemVersion="15A178w" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" initialViewController="01J-lp-oVM">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8124.4"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="LE5-Z4-Am4"/>
<viewControllerLayoutGuide type="bottom" id="mNk-pX-FNy"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="4AM-jj-fek">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Sprite" translatesAutoresizingMaskIntoConstraints="NO" id="e3X-hv-tO0">
<rect key="frame" x="236" y="236" width="128" height="128"/>
<animations/>
</imageView>
</subviews>
<animations/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="e3X-hv-tO0" firstAttribute="centerY" secondItem="4AM-jj-fek" secondAttribute="centerY" id="KYd-0x-jga"/>
<constraint firstItem="e3X-hv-tO0" firstAttribute="centerX" secondItem="4AM-jj-fek" secondAttribute="centerX" id="bdz-0K-If4"/>
</constraints>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
<resources>
<image name="Istanbul/Istanbul_01.jpg" width="960" height="726"/>
<image name="Istanbul/Istanbul_02.jpg" width="720" height="960"/>
<image name="Istanbul/Istanbul_03.jpg" width="960" height="665"/>
<image name="Paris/Paris_01.jpg" width="4592" height="2576"/>
<image name="Paris/Paris_02.jpg" width="4592" height="2576"/>
<image name="Paris/Paris_03.jpg" width="3264" height="2448"/>
<image name="Paris/Paris_04.jpg" width="3264" height="2448"/>
<image name="Rotterdam/Rotterdam_01.jpg" width="1536" height="2048"/>
<image name="Rotterdam/Rotterdam_02.jpg" width="2414" height="1727"/>
<image name="Rotterdam/Rotterdam_03.jpg" width="2495" height="2048"/>
</resources>
</document>

Двоичные данные
ios9/iTravel/iTravel/Resources/Paris/Paris_01.jpg Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 4.6 MiB

Двоичные данные
ios9/iTravel/iTravel/Resources/Paris/Paris_02.jpg Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 4.6 MiB

Двоичные данные
ios9/iTravel/iTravel/Resources/Paris/Paris_03.jpg Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 2.0 MiB

Двоичные данные
ios9/iTravel/iTravel/Resources/Paris/Paris_04.jpg Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 2.3 MiB

Двоичные данные
ios9/iTravel/iTravel/Resources/Rotterdam/Rotterdam_01.jpg Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 521 KiB

Двоичные данные
ios9/iTravel/iTravel/Resources/Rotterdam/Rotterdam_02.jpg Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 750 KiB

Двоичные данные
ios9/iTravel/iTravel/Resources/Rotterdam/Rotterdam_03.jpg Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 949 KiB

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

@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
using Foundation;
using UIKit;
namespace iTravel {
public partial class ViewController : UITableViewController {
class DestinationDetail {
public string Title { get; set; }
public string Tag { get; set; }
}
readonly List<DestinationDetail> sampleData = new List<DestinationDetail> {
new DestinationDetail { Tag = "Paris", Title = "Paris" },
new DestinationDetail { Tag = "Istanbul", Title = "Istanbul" },
new DestinationDetail { Tag = "Rotterdam", Title = "Rotterdam" }
};
protected ViewController (IntPtr handle) : base (handle)
{
}
public override void PrepareForSegue (UIStoryboardSegue segue, NSObject sender)
{
if (segue.Identifier != "showDetail")
return;
var indexPath = TableView.IndexPathForSelectedRow;
var previewDetail = sampleData[indexPath.Row];
var albumViewController = segue.DestinationViewController as AlbumViewController;
albumViewController.LoadAlbum (previewDetail.Tag);
albumViewController.Title = previewDetail.Title;
}
public override nint RowsInSection (UITableView tableView, nint section)
{
return sampleData.Count;
}
public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath)
{
var cell = TableView.DequeueReusableCell ("Cell");
var previewDetail = sampleData[indexPath.Row];
cell.TextLabel.Text = previewDetail.Title;
return cell;
}
}
}

21
ios9/iTravel/iTravel/ViewController.designer.cs сгенерированный Normal file
Просмотреть файл

@ -0,0 +1,21 @@
// WARNING
//
// This file has been generated automatically by Xamarin Studio from the outlets and
// actions declared in your storyboard file.
// Manual changes to this file will not be maintained.
//
using Foundation;
using System;
using System.CodeDom.Compiler;
using UIKit;
namespace iTravel
{
[Register ("ViewController")]
partial class ViewController
{
void ReleaseDesignerOutlets ()
{
}
}
}

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

@ -0,0 +1,218 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">iPhoneSimulator</Platform>
<ProjectGuid>{67442883-6998-4A96-97DA-E7F5AD814FD3}</ProjectGuid>
<ProjectTypeGuids>{FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<OutputType>Exe</OutputType>
<RootNamespace>iTravel</RootNamespace>
<AssemblyName>iTravel</AssemblyName>
<IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\iPhoneSimulator\Debug</OutputPath>
<DefineConstants>DEBUG;ENABLE_TEST_CLOUD;</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
<CodesignKey>iPhone Developer</CodesignKey>
<MtouchDebug>true</MtouchDebug>
<MtouchFastDev>true</MtouchFastDev>
<MtouchProfiling>true</MtouchProfiling>
<MtouchUseSGen>true</MtouchUseSGen>
<MtouchUseRefCounting>true</MtouchUseRefCounting>
<MtouchLink>None</MtouchLink>
<MtouchArch>i386</MtouchArch>
<PlatformTarget>x86</PlatformTarget>
<OnDemandResourcesInitialInstallTags>Istanbul</OnDemandResourcesInitialInstallTags>
<OnDemandResourcesPrefetchOrder>Paris</OnDemandResourcesPrefetchOrder>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
<Optimize>true</Optimize>
<OutputPath>bin\iPhone\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
<CodesignKey>iPhone Distribution</CodesignKey>
<MtouchUseSGen>true</MtouchUseSGen>
<MtouchUseRefCounting>true</MtouchUseRefCounting>
<MtouchFloat32>true</MtouchFloat32>
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
<MtouchArch>ARMv7, ARM64</MtouchArch>
<PlatformTarget>x86</PlatformTarget>
<CodesignProvision>3e3cabc6-7625-4005-b133-2ffeeb05afd6</CodesignProvision>
<OnDemandResourcesPrefetchOrder>paris</OnDemandResourcesPrefetchOrder>
<OnDemandResourcesInitialInstallTags>rotterdam</OnDemandResourcesInitialInstallTags>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
<Optimize>true</Optimize>
<OutputPath>bin\iPhoneSimulator\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
<CodesignKey>iPhone Developer</CodesignKey>
<MtouchUseSGen>true</MtouchUseSGen>
<MtouchUseRefCounting>true</MtouchUseRefCounting>
<MtouchLink>None</MtouchLink>
<MtouchArch>i386</MtouchArch>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\iPhone\Debug</OutputPath>
<DefineConstants>DEBUG;ENABLE_TEST_CLOUD;</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
<CodesignKey>iPhone Developer</CodesignKey>
<DeviceSpecificBuild>true</DeviceSpecificBuild>
<MtouchDebug>true</MtouchDebug>
<MtouchFastDev>true</MtouchFastDev>
<MtouchProfiling>true</MtouchProfiling>
<MtouchUseSGen>true</MtouchUseSGen>
<MtouchUseRefCounting>true</MtouchUseRefCounting>
<MtouchFloat32>true</MtouchFloat32>
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
<MtouchLink>None</MtouchLink>
<MtouchArch>ARMv7, ARM64</MtouchArch>
<PlatformTarget>x86</PlatformTarget>
<OnDemandResourcesInitialInstallTags>Istanbul</OnDemandResourcesInitialInstallTags>
<OnDemandResourcesPrefetchOrder>Paris</OnDemandResourcesPrefetchOrder>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' ">
<DebugType>none</DebugType>
<Optimize>True</Optimize>
<OutputPath>bin\iPhone\Ad-Hoc</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>False</ConsolePause>
<MtouchArch>ARMv7, ARM64</MtouchArch>
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
<BuildIpa>True</BuildIpa>
<CodesignProvision>Automatic:AdHoc</CodesignProvision>
<CodesignKey>iPhone Distribution</CodesignKey>
<OnDemandResourcesInitialInstallTags>Istanbul</OnDemandResourcesInitialInstallTags>
<OnDemandResourcesPrefetchOrder>Paris</OnDemandResourcesPrefetchOrder>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' ">
<DebugType>none</DebugType>
<Optimize>True</Optimize>
<OutputPath>bin\iPhone\AppStore</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>False</ConsolePause>
<MtouchArch>ARMv7, ARM64</MtouchArch>
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
<CodesignProvision>Automatic:AppStore</CodesignProvision>
<CodesignKey>iPhone Distribution</CodesignKey>
<OnDemandResourcesInitialInstallTags>Istanbul</OnDemandResourcesInitialInstallTags>
<OnDemandResourcesPrefetchOrder>Paris</OnDemandResourcesPrefetchOrder>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="Xamarin.iOS" />
<Reference Include="Newtonsoft.Json">
<HintPath>..\packages\Newtonsoft.Json.8.0.2\lib\portable-net40+sl5+wp80+win8+wpa81\Newtonsoft.Json.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<ImageAsset Include="Assets.xcassets\AppIcons.appiconset\Contents.json" />
<ImageAsset Include="Assets.xcassets\AppIcons.appiconset\icon-spotlight-40%403x.png" />
<ImageAsset Include="Assets.xcassets\AppIcons.appiconset\Icon-app-60%403x.png" />
<ImageAsset Include="Assets.xcassets\AppIcons.appiconset\icon-app-60%402x.png" />
<ImageAsset Include="Assets.xcassets\istanbul.dataset\Contents.json" />
<ImageAsset Include="Assets.xcassets\istanbul.dataset\istanbul.json" />
<ImageAsset Include="Assets.xcassets\paris.dataset\Contents.json" />
<ImageAsset Include="Assets.xcassets\paris.dataset\paris.json" />
<ImageAsset Include="Assets.xcassets\rotterdam.dataset\Contents.json" />
<ImageAsset Include="Assets.xcassets\rotterdam.dataset\rotterdam.json" />
<ImageAsset Include="Assets.xcassets\Logo.spriteatlas\Contents.json" />
<ImageAsset Include="Assets.xcassets\Logo.spriteatlas\Sprite.imageset\Contents.json" />
<ImageAsset Include="Assets.xcassets\Logo.spriteatlas\Sprite.imageset\splash-xamagon.png" />
<ImageAsset Include="Assets.xcassets\Logo.spriteatlas\Sprite.imageset\splash-xamagon%402x.png" />
<ImageAsset Include="Assets.xcassets\Logo.spriteatlas\Sprite.imageset\splash-xamagon%403x.png" />
</ItemGroup>
<ItemGroup>
<InterfaceDefinition Include="Main.storyboard" />
<InterfaceDefinition Include="Resources\LaunchScreen.storyboard" />
</ItemGroup>
<ItemGroup>
<None Include="Info.plist" />
<None Include="Entitlements.plist" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Compile Include="Main.cs" />
<Compile Include="AppDelegate.cs" />
<Compile Include="ViewController.cs" />
<Compile Include="ViewController.designer.cs">
<DependentUpon>ViewController.cs</DependentUpon>
</Compile>
<Compile Include="AlbumViewController.cs" />
<Compile Include="AlbumViewController.designer.cs">
<DependentUpon>AlbumViewController.cs</DependentUpon>
</Compile>
<Compile Include="ImageViewController.cs" />
<Compile Include="ImageViewController.designer.cs">
<DependentUpon>ImageViewController.cs</DependentUpon>
</Compile>
<Compile Include="PreviewDetail.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="Resources\" />
<Folder Include="Assets.xcassets\buenosaires_data.dataset\" />
<Folder Include="Assets.xcassets\france_bookmark.imageset\" />
<Folder Include="Resources\Bookmarks\" />
<Folder Include="Assets.xcassets\netherlands_bookmark.imageset\" />
<Folder Include="Assets.xcassets\turkey_bookmark.imageset\" />
<Folder Include="Assets.xcassets\istanbul.dataset\" />
<Folder Include="Assets.xcassets\paris.dataset\" />
<Folder Include="Assets.xcassets\rotterdam.dataset\" />
<Folder Include="Assets.xcassets\Logo.spriteatlas\" />
</ItemGroup>
<ItemGroup>
<BundleResource Include="Resources\Bookmarks\netherlands.pdf" />
<BundleResource Include="Resources\Bookmarks\turkey.pdf" />
<BundleResource Include="Resources\Bookmarks\france.pdf" />
<BundleResource Include="Resources\Istanbul\Istanbul_01.jpg">
<ResourceTags>Istanbul</ResourceTags>
</BundleResource>
<BundleResource Include="Resources\Istanbul\Istanbul_02.jpg">
<ResourceTags>Istanbul</ResourceTags>
</BundleResource>
<BundleResource Include="Resources\Istanbul\Istanbul_03.jpg">
<ResourceTags>Istanbul</ResourceTags>
</BundleResource>
<BundleResource Include="Resources\Paris\Paris_01.jpg">
<ResourceTags>Paris</ResourceTags>
</BundleResource>
<BundleResource Include="Resources\Paris\Paris_02.jpg">
<ResourceTags>Paris</ResourceTags>
</BundleResource>
<BundleResource Include="Resources\Paris\Paris_03.jpg">
<ResourceTags>Paris</ResourceTags>
</BundleResource>
<BundleResource Include="Resources\Paris\Paris_04.jpg">
<ResourceTags>Paris</ResourceTags>
</BundleResource>
<BundleResource Include="Resources\Rotterdam\Rotterdam_01.jpg">
<ResourceTags>Rotterdam</ResourceTags>
</BundleResource>
<BundleResource Include="Resources\Rotterdam\Rotterdam_02.jpg">
<ResourceTags>Rotterdam</ResourceTags>
</BundleResource>
<BundleResource Include="Resources\Rotterdam\Rotterdam_03.jpg">
<ResourceTags>Rotterdam</ResourceTags>
</BundleResource>
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
</Project>

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

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Newtonsoft.Json" version="8.0.2" targetFramework="xamarinios10" />
</packages>