Be aware the following shortcuts are only working, if you have the plugins installed mentioned below.
:w Save file
:w filename Save file under new filename
You may run into issues with downloading the m2repository when referencing a NuGet package of the Android Support Libraries / Google Play Services.
Example error:
`Download failed. Please download https://dl-ssl.google.com/android/repository/android_m2repository_r25.zip
One of the best ways to investigate a problematic Xamarin.Android Binding is to first ensure you have the proper tooling available:
| * Reducing executable size: | |
| http://developer.xamarin.com/guides/cross-platform/deployment,_testing,_and_metrics/memory_perf_best_practices/#Reducing_Executable_Size | |
| * Use the linker (iOS [1], Android [2]) to remove unnecessary code from your assemblies | |
| [1] https://developer.xamarin.com/guides/ios/advanced_topics/linker | |
| [2] https://developer.xamarin.com/guides/android/advanced_topics/linking | |
| * Reference third-party libraries judiciously | |
| * Applying constraints to generics may reduce app size, since less code would need to be included (haven’t verified this) |
Microsoft’s navigator.msLaunchUri method only works in Internet Explorer on Windows 8. Therefore I came up with a (nearly) cross-browser implementation that uses the native msLaunchUri when it’s available and falls back to adventurous hacks when running in other browsers.
launchUri (uri, successCallback, noHandlerCallback, unknownCallback)
| #!/usr/bin/python | |
| import sys | |
| import os.path | |
| import re | |
| import subprocess | |
| if len(sys.argv) < 4: | |
| print "Usuage: ./getcrash.py AppName AppSymbol crashlog.ips" | |
| print "Where AppName is the iOS app name without .app, AppSymbol the app name in the logs (usually almost the same as the AppName and the crash log file." |
Pick the "Ad-Hoc" build configuration.
Change the provisioning profile in "project options -> iOS Bundle Signing" to an AppStore provisioning profile.
Rebuild the project.
| // | |
| // Copyright (c) 2013-2015 Frank A. Krueger | |
| // | |
| // Permission is hereby granted, free of charge, to any person obtaining a copy | |
| // of this software and associated documentation files (the "Software"), to deal | |
| // in the Software without restriction, including without limitation the rights | |
| // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| // copies of the Software, and to permit persons to whom the Software is | |
| // furnished to do so, subject to the following conditions: | |
| // |
| #import "AVPlayer+MOAdditions.h" | |
| #include <CoreMedia/CMBase.h> | |
| #import "AVPlayerItem+MOAdditions.h" | |
| @implementation AVPlayer (MOAdditions) | |
| - (NSURL *)currentURL { | |
| AVAsset *asset = self.currentItem.asset; | |
| if ([asset isMemberOfClass:[AVURLAsset class]]) | |
| return ((AVURLAsset *)asset).URL; |