Объявление собственных функций в SQLite3
This commit is contained in:
parent
ff98ecc5ad
commit
3970f394b0
|
|
@ -1,3 +1,6 @@
|
|||
# Dependencies
|
||||
Components/
|
||||
|
||||
# Build Folders (you can keep bin if you'd like, to store dlls and pdbs)
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLiteExtensions_iOS", "iOS\SQLiteExtensions_iOS.csproj", "{50EEF6C9-7587-4094-8161-0F926975A307}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|iPhoneSimulator = Debug|iPhoneSimulator
|
||||
Release|iPhoneSimulator = Release|iPhoneSimulator
|
||||
Debug|iPhone = Debug|iPhone
|
||||
Release|iPhone = Release|iPhone
|
||||
Ad-Hoc|iPhone = Ad-Hoc|iPhone
|
||||
AppStore|iPhone = AppStore|iPhone
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{50EEF6C9-7587-4094-8161-0F926975A307}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone
|
||||
{50EEF6C9-7587-4094-8161-0F926975A307}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone
|
||||
{50EEF6C9-7587-4094-8161-0F926975A307}.AppStore|iPhone.ActiveCfg = AppStore|iPhone
|
||||
{50EEF6C9-7587-4094-8161-0F926975A307}.AppStore|iPhone.Build.0 = AppStore|iPhone
|
||||
{50EEF6C9-7587-4094-8161-0F926975A307}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||
{50EEF6C9-7587-4094-8161-0F926975A307}.Debug|iPhone.Build.0 = Debug|iPhone
|
||||
{50EEF6C9-7587-4094-8161-0F926975A307}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
|
||||
{50EEF6C9-7587-4094-8161-0F926975A307}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
|
||||
{50EEF6C9-7587-4094-8161-0F926975A307}.Release|iPhone.ActiveCfg = Release|iPhone
|
||||
{50EEF6C9-7587-4094-8161-0F926975A307}.Release|iPhone.Build.0 = Release|iPhone
|
||||
{50EEF6C9-7587-4094-8161-0F926975A307}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||
{50EEF6C9-7587-4094-8161-0F926975A307}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||
EndGlobalSection
|
||||
GlobalSection(MonoDevelopProperties) = preSolution
|
||||
StartupItem = iOS\SQLiteExtensions_iOS.csproj
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
using System;
|
||||
|
||||
namespace Touchin.SQLiteExtensions
|
||||
{
|
||||
public class Place
|
||||
{
|
||||
public int Id { get; set; }
|
||||
|
||||
public double Latitude { get; set; }
|
||||
|
||||
public double Longitude { get; set; }
|
||||
|
||||
public double Distance { get; set; }
|
||||
|
||||
public string GetHumanReadableCoordinate()
|
||||
{
|
||||
return
|
||||
GetHumanReadableDegrees (Math.Abs (Latitude)) + (Latitude < 0 ? "S" : "N")
|
||||
+ ", " +
|
||||
GetHumanReadableDegrees (Math.Abs (Longitude)) + (Longitude < 0 ? "W" : "E");
|
||||
}
|
||||
|
||||
private string GetHumanReadableDegrees (double value)
|
||||
{
|
||||
var degrees = Math.Truncate (value);
|
||||
var minutes = Math.Truncate ((value - degrees) * 60);
|
||||
var seconds = (((value - degrees) * 60) - minutes) * 60;
|
||||
return String.Format ("{0:00}\u00B0{1:00}\u2032{2:00}\u2033", degrees, minutes, seconds);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using SQLite;
|
||||
|
||||
namespace Touchin.SQLiteExtensions
|
||||
{
|
||||
public class PlaceService : IDisposable
|
||||
{
|
||||
private readonly SQLiteConnection _databaseConnection;
|
||||
|
||||
public PlaceService (string databasePath)
|
||||
{
|
||||
_databaseConnection = new SQLiteConnection (databasePath);
|
||||
_databaseConnection.CreateDistanceFunction ();
|
||||
}
|
||||
|
||||
public Place[] GetPlaces(double latitude, double longitude)
|
||||
{
|
||||
const string query = @"
|
||||
SELECT *, DISTANCE(Latitude, Longitude, @latitude, @longitude) AS Distance
|
||||
FROM Place
|
||||
WHERE Distance < @radius
|
||||
ORDER BY Distance
|
||||
";
|
||||
var command = _databaseConnection.CreateCommand (query);
|
||||
command.Bind ("@latitude", latitude);
|
||||
command.Bind ("@longitude", longitude);
|
||||
command.Bind ("@radius", 100d);
|
||||
return command.ExecuteDeferredQuery<Place> ().ToArray ();
|
||||
}
|
||||
|
||||
public int GetPlaceCount()
|
||||
{
|
||||
const string query = @"
|
||||
SELECT COUNT(*) FROM Place
|
||||
";
|
||||
return _databaseConnection.ExecuteScalar<int> (query);
|
||||
}
|
||||
|
||||
public void Dispose ()
|
||||
{
|
||||
_databaseConnection.Dispose ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using SQLite;
|
||||
|
||||
namespace Touchin.SQLiteExtensions
|
||||
{
|
||||
public static partial class SQLite3Extensions
|
||||
{
|
||||
public static void CreateDistanceFunction (this SQLiteConnection connection)
|
||||
{
|
||||
connection.CreateFunction ("DISTANCE", 4, DistanceBody);
|
||||
}
|
||||
|
||||
private static double Distance (double latitude1, double longitude1, double latitude2, double longitude2)
|
||||
{
|
||||
const double earthRadius = 6378.1;
|
||||
|
||||
double lat1 = latitude1 * Math.PI / 180;
|
||||
double lon1 = longitude1 * Math.PI / 180;
|
||||
double lat2 = latitude2 * Math.PI / 180;
|
||||
double lon2 = longitude2 * Math.PI / 180;
|
||||
|
||||
return earthRadius * Math.Acos (Math.Sin (lat1) * Math.Sin (lat2) + Math.Cos (lat1) * Math.Cos (lat2) * Math.Cos (lon2 - lon1));
|
||||
}
|
||||
|
||||
#if __IOS__
|
||||
// https://bugzilla.novell.com/show_bug.cgi?id=576775
|
||||
[MonoTouch.MonoPInvokeCallback (typeof (Action<IntPtr, int, IntPtr>))]
|
||||
#endif
|
||||
private static void DistanceBody (IntPtr ctx, int argc, IntPtr argv)
|
||||
{
|
||||
IntPtr[] args = ExtractArgs (argc, argv);
|
||||
|
||||
if (ValueType (args [0]) != SQLite3.ColType.Float ||
|
||||
ValueType (args [1]) != SQLite3.ColType.Float ||
|
||||
ValueType (args [2]) != SQLite3.ColType.Float ||
|
||||
ValueType (args [3]) != SQLite3.ColType.Float)
|
||||
{
|
||||
ResultNull (ctx);
|
||||
}
|
||||
else
|
||||
{
|
||||
double latitude1 = ValueDouble (args [0]);
|
||||
double longitude1 = ValueDouble (args [1]);
|
||||
double latitude2 = ValueDouble (args [2]);
|
||||
double longitude2 = ValueDouble (args [3]);
|
||||
double result = Distance (latitude1, longitude1, latitude2, longitude2);
|
||||
ResultDouble (ctx, result);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using SQLite;
|
||||
|
||||
namespace Touchin.SQLiteExtensions
|
||||
{
|
||||
public static partial class SQLite3Extensions
|
||||
{
|
||||
private static void CreateFunction (this SQLiteConnection connection, string functionName, int paramCount, Action<IntPtr, int, IntPtr> functionBody)
|
||||
{
|
||||
var result = CreateFunction (connection.Handle, functionName, paramCount, TextEncoding.UTF8, IntPtr.Zero, functionBody, null, null);
|
||||
if (result != SQLite3.Result.OK)
|
||||
{
|
||||
throw SQLiteException.New (result, "Can not create function");
|
||||
}
|
||||
}
|
||||
|
||||
private static IntPtr [] ExtractArgs (int argc, IntPtr argv)
|
||||
{
|
||||
IntPtr [] args = new IntPtr [argc];
|
||||
Marshal.Copy (argv, args, 0, argc);
|
||||
return args;
|
||||
}
|
||||
|
||||
// SQLITE_API int sqlite3_create_function(
|
||||
// sqlite3 *db,
|
||||
// const char *zFunctionName,
|
||||
// int nArg,
|
||||
// int eTextRep,
|
||||
// void *pApp,
|
||||
// void (*xFunc)(sqlite3_context*,int,sqlite3_value**),
|
||||
// void (*xStep)(sqlite3_context*,int,sqlite3_value**),
|
||||
// void (*xFinal)(sqlite3_context*)
|
||||
// );
|
||||
[DllImport("sqlite3", CallingConvention = CallingConvention.Cdecl, EntryPoint = "sqlite3_create_function")]
|
||||
private static extern SQLite3.Result CreateFunction (
|
||||
IntPtr db,
|
||||
string zFunctionName,
|
||||
int nArg,
|
||||
TextEncoding eTextRep,
|
||||
IntPtr pApp,
|
||||
Action<IntPtr, int, IntPtr> xFunc,
|
||||
Action<IntPtr, int, IntPtr> xStep,
|
||||
Action<IntPtr, int, IntPtr> xFinal
|
||||
);
|
||||
|
||||
#region sqlite3_value
|
||||
|
||||
// SQLITE_API int sqlite3_value_type(sqlite3_value*);
|
||||
[DllImport("sqlite3", CallingConvention = CallingConvention.Cdecl, EntryPoint = "sqlite3_value_type")]
|
||||
private static extern SQLite3.ColType ValueType (IntPtr value);
|
||||
|
||||
// SQLITE_API double sqlite3_value_double(sqlite3_value*);
|
||||
[DllImport("sqlite3", CallingConvention = CallingConvention.Cdecl, EntryPoint = "sqlite3_value_double")]
|
||||
private static extern double ValueDouble (IntPtr value);
|
||||
|
||||
#endregion
|
||||
|
||||
#region sqlite3_context
|
||||
|
||||
// SQLITE_API void sqlite3_result_null(sqlite3_context*);
|
||||
[DllImport("sqlite3", CallingConvention = CallingConvention.Cdecl, EntryPoint = "sqlite3_result_null")]
|
||||
private static extern void ResultNull (IntPtr ctx);
|
||||
|
||||
// SQLITE_API void sqlite3_result_double(sqlite3_context*, double);
|
||||
[DllImport("sqlite3", CallingConvention = CallingConvention.Cdecl, EntryPoint = "sqlite3_result_double")]
|
||||
private static extern void ResultDouble (IntPtr ctx, double value);
|
||||
|
||||
#endregion
|
||||
|
||||
// These constant define integer codes that represent the various text encodings supported by SQLite.
|
||||
private enum TextEncoding
|
||||
{
|
||||
UTF8 = 1,
|
||||
UTF16LE = 2,
|
||||
UTF16BE = 3,
|
||||
UTF16 = 4, /* Use native byte order */
|
||||
Any = 5, /* sqlite3_create_function only */
|
||||
UTF16Aligned = 8, /* sqlite3_create_collation only */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
using MonoTouch.Foundation;
|
||||
using MonoTouch.UIKit;
|
||||
|
||||
namespace Touchin.SQLiteExtensions
|
||||
{
|
||||
[Register (Name)]
|
||||
public partial class AppDelegate : UIApplicationDelegate
|
||||
{
|
||||
private const string Name = "AppDelegate";
|
||||
|
||||
UIWindow _window;
|
||||
UIViewController _viewController;
|
||||
|
||||
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
|
||||
{
|
||||
_window = new UIWindow (UIScreen.MainScreen.Bounds);
|
||||
|
||||
_viewController = new MainViewController ();
|
||||
_window.RootViewController = new UINavigationController (_viewController);
|
||||
_window.MakeKeyAndVisible ();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private static void Main (string[] args)
|
||||
{
|
||||
UIApplication.Main (args, null, Name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -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,32 @@
|
|||
<?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>CFBundleDisplayName</key>
|
||||
<string>SQLiteExtensions</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.touchin.sqlite-extensions</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>MinimumOSVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>UIDeviceFamily</key>
|
||||
<array>
|
||||
<integer>1</integer>
|
||||
</array>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>armv7</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
</array>
|
||||
<key>XSLaunchImageAssets</key>
|
||||
<string>Resources/Images.xcassets/LaunchImage.launchimage</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using MonoTouch.CoreLocation;
|
||||
using MonoTouch.Foundation;
|
||||
using MonoTouch.UIKit;
|
||||
using SQLite;
|
||||
|
||||
namespace Touchin.SQLiteExtensions
|
||||
{
|
||||
public class MainViewController : UITableViewController
|
||||
{
|
||||
private readonly PlaceService _placeService;
|
||||
private readonly CLLocationManager _locationManager;
|
||||
private readonly Stopwatch _stopwatch;
|
||||
|
||||
private int _totalCount;
|
||||
private Place[] _places;
|
||||
|
||||
public MainViewController ()
|
||||
{
|
||||
Title = "SQLite Extensions";
|
||||
|
||||
var databasePath = NSBundle.MainBundle.PathForResource ("Place", "sqlite");
|
||||
_placeService = new PlaceService (databasePath);
|
||||
_locationManager = new CLLocationManager();
|
||||
_stopwatch = new Stopwatch ();
|
||||
}
|
||||
|
||||
public override void ViewDidLoad ()
|
||||
{
|
||||
base.ViewDidLoad ();
|
||||
|
||||
TableView.AllowsSelection = false;
|
||||
}
|
||||
|
||||
public override void ViewWillAppear (bool animated)
|
||||
{
|
||||
base.ViewWillAppear (animated);
|
||||
|
||||
_totalCount = _placeService.GetPlaceCount ();
|
||||
|
||||
if (CLLocationManager.LocationServicesEnabled)
|
||||
{
|
||||
_locationManager.LocationsUpdated += HandleLocationsUpdated;
|
||||
_locationManager.StartUpdatingLocation ();
|
||||
}
|
||||
}
|
||||
|
||||
private void HandleLocationsUpdated (object sender, CLLocationsUpdatedEventArgs e)
|
||||
{
|
||||
var location = e.Locations.Last ();
|
||||
|
||||
_stopwatch.Restart ();
|
||||
_places = _placeService.GetPlaces (location.Coordinate.Latitude, location.Coordinate.Longitude);
|
||||
_stopwatch.Stop ();
|
||||
|
||||
TableView.ReloadData ();
|
||||
}
|
||||
|
||||
public override int RowsInSection (UITableView tableview, int section)
|
||||
{
|
||||
return _places != null ? _places.Length : 0;
|
||||
}
|
||||
|
||||
public override string TitleForHeader (UITableView tableView, int section)
|
||||
{
|
||||
return String.Format ("Places ({0}/{1}) : {2} ms", RowsInSection (tableView, section), _totalCount, _stopwatch.ElapsedMilliseconds);
|
||||
}
|
||||
|
||||
public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath)
|
||||
{
|
||||
var reuseIdentifier = "Touchin.SQLiteExtensions.MainViewController.PlaceCell";
|
||||
var cell = tableView.DequeueReusableCell (reuseIdentifier) ?? new UITableViewCell (UITableViewCellStyle.Value1, reuseIdentifier);
|
||||
|
||||
var place = _places [indexPath.Row];
|
||||
cell.TextLabel.Text = place.GetHumanReadableCoordinate ();
|
||||
cell.DetailTextLabel.Text = String.Format ("{0:F3} km", place.Distance);
|
||||
return cell;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,140 @@
|
|||
{
|
||||
"images": [
|
||||
{
|
||||
"minimum-system-version": "7.0",
|
||||
"orientation": "portrait",
|
||||
"extent": "full-screen",
|
||||
"filename": "Default@2x.png",
|
||||
"size": "640x960",
|
||||
"scale": "2x",
|
||||
"idiom": "iphone"
|
||||
},
|
||||
{
|
||||
"minimum-system-version": "7.0",
|
||||
"orientation": "portrait",
|
||||
"extent": "full-screen",
|
||||
"filename": "Default-568h@2x.png",
|
||||
"size": "640x1136",
|
||||
"subtype": "retina4",
|
||||
"scale": "2x",
|
||||
"idiom": "iphone"
|
||||
},
|
||||
{
|
||||
"minimum-system-version": "7.0",
|
||||
"orientation": "portrait",
|
||||
"extent": "full-screen",
|
||||
"size": "768x1024",
|
||||
"scale": "1x",
|
||||
"idiom": "ipad"
|
||||
},
|
||||
{
|
||||
"minimum-system-version": "7.0",
|
||||
"orientation": "portrait",
|
||||
"extent": "full-screen",
|
||||
"size": "1536x2048",
|
||||
"scale": "2x",
|
||||
"idiom": "ipad"
|
||||
},
|
||||
{
|
||||
"minimum-system-version": "7.0",
|
||||
"orientation": "landscape",
|
||||
"extent": "full-screen",
|
||||
"size": "1024x768",
|
||||
"scale": "1x",
|
||||
"idiom": "ipad"
|
||||
},
|
||||
{
|
||||
"minimum-system-version": "7.0",
|
||||
"orientation": "landscape",
|
||||
"extent": "full-screen",
|
||||
"size": "2048x1536",
|
||||
"scale": "2x",
|
||||
"idiom": "ipad"
|
||||
},
|
||||
{
|
||||
"orientation": "portrait",
|
||||
"extent": "full-screen",
|
||||
"filename": "Default.png",
|
||||
"size": "320x480",
|
||||
"scale": "1x",
|
||||
"idiom": "iphone"
|
||||
},
|
||||
{
|
||||
"orientation": "portrait",
|
||||
"extent": "full-screen",
|
||||
"filename": "Default@2x.png",
|
||||
"size": "640x960",
|
||||
"scale": "2x",
|
||||
"idiom": "iphone"
|
||||
},
|
||||
{
|
||||
"orientation": "portrait",
|
||||
"extent": "full-screen",
|
||||
"filename": "Default-568h@2x.png",
|
||||
"size": "640x1136",
|
||||
"subtype": "retina4",
|
||||
"scale": "2x",
|
||||
"idiom": "iphone"
|
||||
},
|
||||
{
|
||||
"orientation": "portrait",
|
||||
"extent": "full-screen",
|
||||
"size": "768x1024",
|
||||
"scale": "1x",
|
||||
"idiom": "ipad"
|
||||
},
|
||||
{
|
||||
"orientation": "portrait",
|
||||
"extent": "full-screen",
|
||||
"size": "1536x2048",
|
||||
"scale": "2x",
|
||||
"idiom": "ipad"
|
||||
},
|
||||
{
|
||||
"orientation": "portrait",
|
||||
"extent": "to-status-bar",
|
||||
"size": "768x1004",
|
||||
"scale": "1x",
|
||||
"idiom": "ipad"
|
||||
},
|
||||
{
|
||||
"orientation": "portrait",
|
||||
"extent": "to-status-bar",
|
||||
"size": "1536x2008",
|
||||
"scale": "2x",
|
||||
"idiom": "ipad"
|
||||
},
|
||||
{
|
||||
"orientation": "landscape",
|
||||
"extent": "full-screen",
|
||||
"size": "1024x768",
|
||||
"scale": "1x",
|
||||
"idiom": "ipad"
|
||||
},
|
||||
{
|
||||
"orientation": "landscape",
|
||||
"extent": "full-screen",
|
||||
"size": "2048x1536",
|
||||
"scale": "2x",
|
||||
"idiom": "ipad"
|
||||
},
|
||||
{
|
||||
"orientation": "landscape",
|
||||
"extent": "to-status-bar",
|
||||
"size": "1024x748",
|
||||
"scale": "1x",
|
||||
"idiom": "ipad"
|
||||
},
|
||||
{
|
||||
"orientation": "landscape",
|
||||
"extent": "to-status-bar",
|
||||
"size": "2048x1496",
|
||||
"scale": "2x",
|
||||
"idiom": "ipad"
|
||||
}
|
||||
],
|
||||
"info": {
|
||||
"version": 1,
|
||||
"author": "xcode"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 731 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 141 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 486 KiB |
|
|
@ -0,0 +1,143 @@
|
|||
<?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>
|
||||
<ProductVersion>10.0.0</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{50EEF6C9-7587-4094-8161-0F926975A307}</ProjectGuid>
|
||||
<ProjectTypeGuids>{6BC8ED88-2882-458C-8E55-DFD12B67127B};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RootNamespace>Touchin.SQLiteExtensions</RootNamespace>
|
||||
<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;__MOBILE__;__IOS__;</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<ConsolePause>false</ConsolePause>
|
||||
<MtouchLink>None</MtouchLink>
|
||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||
<MtouchDebug>true</MtouchDebug>
|
||||
<AssemblyName>SQLiteExtensions</AssemblyName>
|
||||
<MtouchI18n>
|
||||
</MtouchI18n>
|
||||
<MtouchArch>ARMv7</MtouchArch>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\iPhoneSimulator\Release</OutputPath>
|
||||
<DefineConstants>__MOBILE__;__IOS__;</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<MtouchLink>None</MtouchLink>
|
||||
<ConsolePause>false</ConsolePause>
|
||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||
<AssemblyName>SQLiteExtensions</AssemblyName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\iPhone\Debug</OutputPath>
|
||||
<DefineConstants>DEBUG;__MOBILE__;__IOS__;</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<ConsolePause>false</ConsolePause>
|
||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||
<MtouchDebug>true</MtouchDebug>
|
||||
<CodesignKey>iPhone Developer</CodesignKey>
|
||||
<AssemblyName>SQLiteExtensions_iOS</AssemblyName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\iPhone\Release</OutputPath>
|
||||
<DefineConstants>__MOBILE__;__IOS__;</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||
<ConsolePause>false</ConsolePause>
|
||||
<CodesignKey>iPhone Developer</CodesignKey>
|
||||
<AssemblyName>SQLiteExtensions_iOS</AssemblyName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' ">
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\iPhone\Ad-Hoc</OutputPath>
|
||||
<DefineConstants>__MOBILE__;__IOS__;</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<ConsolePause>false</ConsolePause>
|
||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||
<BuildIpa>true</BuildIpa>
|
||||
<CodesignProvision>Automatic:AdHoc</CodesignProvision>
|
||||
<CodesignKey>iPhone Distribution</CodesignKey>
|
||||
<AssemblyName>SQLiteExtensions_iOS</AssemblyName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' ">
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\iPhone\AppStore</OutputPath>
|
||||
<DefineConstants>__MOBILE__;__IOS__;</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<ConsolePause>false</ConsolePause>
|
||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||
<CodesignProvision>Automatic:AppStore</CodesignProvision>
|
||||
<CodesignKey>iPhone Distribution</CodesignKey>
|
||||
<AssemblyName>SQLiteExtensions_iOS</AssemblyName>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="monotouch" />
|
||||
<Reference Include="SQLite">
|
||||
<HintPath>..\Components\sqlite-net-1.0.1\lib\ios\SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Info.plist" />
|
||||
<None Include="Entitlements.plist" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AppDelegate.cs" />
|
||||
<Compile Include="..\Shared\SQLite3Extensions.cs">
|
||||
<Link>SQLite3Extensions.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Shared\SQLite3Extensions.Distance.cs">
|
||||
<Link>SQLite3Extensions.Distance.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="MainViewController.cs" />
|
||||
<Compile Include="..\Shared\Place.cs">
|
||||
<Link>Place.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Shared\PlaceService.cs">
|
||||
<Link>PlaceService.cs</Link>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<ItemGroup>
|
||||
<ImageAsset Include="Resources\Images.xcassets\LaunchImage.launchimage\Contents.json" />
|
||||
<ImageAsset Include="Resources\Images.xcassets\LaunchImage.launchimage\Default-568h%402x.png" />
|
||||
<ImageAsset Include="Resources\Images.xcassets\LaunchImage.launchimage\Default%402x.png" />
|
||||
<ImageAsset Include="Resources\Images.xcassets\LaunchImage.launchimage\Default.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<XamarinComponentReference Include="sqlite-net">
|
||||
<Version>1.0.1</Version>
|
||||
<Visible>False</Visible>
|
||||
</XamarinComponentReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BundleResource Include="..\Shared\Place.sqlite">
|
||||
<Link>Resources\Place.sqlite</Link>
|
||||
</BundleResource>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
Loading…
Reference in New Issue