Problem:
Working with Peter Huene's sqlite port for use with Windows Phone project. I need to compile the bits for SQLite for the MVVMCross Sqlite libraries. The project in nuget has support for Droid and Touch but the windows phone project is incomplete. I downloaded the bits and attempted to open the C++ project and got this wonderful message:
Unable to read the project file Sqlite.vcxproj
C:\Program Files\Microsoft SDKs\Windows Phone\v8.0\ExtensionSDKs\SQLite.WP80\3.8.6\DesignTime\Common Configuration\Neutral\SQLite.QP80.props not found
Solution:
This made me wonder and about other people with this problem. Sure enough several people have had similar issues. The project file checked into the GitHub for Peter's site. They all resolve down to the version of the Windows Phone extension libraries for SQLite. Depending on what version is installed. I was able to resolve the problem by editing the vcxproj file with notepad. I corrected the path references from 3.8.6 to 3.8.11 which is the version I have installed. Easy enough and now it works.
Source:
1.) http://stackoverflow.com/questions/18692632/using-sqlite-for-a-windows-phone-8-app
2.)https://github.com/peterhuene/sqlite-net-wp8/issues/9
3.)http://wp.qmatteoq.com/working-with-sqlite-in-windows-phone-8-a-sqlite-net-version-for-mobile/
This missive records my trials and tribulations as I code my way through projects. Fix the problem once and reuse the solution!
Thursday, July 30, 2015
Thursday, July 16, 2015
plugin not registered for type Cirrious.MvvmCross.Community.Plugins.Sqlite - Unified API
Problem:
I just successfully published the app to the iTunes store. I had the application written and ready to publish when the wonderful Application Loader refused to load my app to the store!! Why, because
it was not built to support the Unified API. Easy fix just use the Xamarin upgrade to Unified Api and voila! But Unified API is not compatible with MVVMCross SQLite Plugin (v 3.2.2)
Wait, not so fast. I immediately had problems with the SQLite libraries for MVVMCross.
This caused me about a week of pain working through all the interdepencies. I was able to get the latest source code from https://github.com/MvvmCross/ MvvmCross-SQLite/issues/39. Then I built out the bits for support of my project. I was able to compile and run the app. It would crash each time I ran and attempted to load the screen which loaded the sql lite plugin!!!
Error:
plugin not registered for type Cirrious.MvvmCross.Community.Plugins.Sqlite
I wracked my brain as to why the ui failed each time on the sqlite load. I finally reread the api documentation on the MVVMCross wiki. It finally hit me when I came across this added requirement for the iOS platform plugin.
Solution:
You must include a second argument in the bootstrap action for the sqllite plugin. The bootstrap needs the second argument in the interface constructor for iOS. If you fail to include it then the path to the Touch plugin then the runtime will not load the plugin and will give you the error.
This is not a problem in Droid or Windows Phone builds.
Source:
I just successfully published the app to the iTunes store. I had the application written and ready to publish when the wonderful Application Loader refused to load my app to the store!! Why, because
it was not built to support the Unified API. Easy fix just use the Xamarin upgrade to Unified Api and voila! But Unified API is not compatible with MVVMCross SQLite Plugin (v 3.2.2)
Wait, not so fast. I immediately had problems with the SQLite libraries for MVVMCross.
This caused me about a week of pain working through all the interdepencies. I was able to get the latest source code from https://github.com/MvvmCross/
Error:
plugin not registered for type Cirrious.MvvmCross.Community.Plugins.Sqlite
I wracked my brain as to why the ui failed each time on the sqlite load. I finally reread the api documentation on the MVVMCross wiki. It finally hit me when I came across this added requirement for the iOS platform plugin.
Solution:
You must include a second argument in the bootstrap action for the sqllite plugin. The bootstrap needs the second argument in the interface constructor for iOS. If you fail to include it then the path to the Touch plugin then the runtime will not load the plugin and will give you the error.
This is not a problem in Droid or Windows Phone builds.
using Cirrious.CrossCore.Plugins;
using Cirrious.MvvmCross.Community. Plugins.Sqlite;
using Cirrious.MvvmCross.Community. Plugins.Sqlite.Touch;
public class SqlitePluginBootstrap
: MvxLoaderPluginBootstrapAction <Plugins.Sqlite.PluginLoader, Plugins.Sqlite.Touch.Plugin>
{
}
Source:
- https://github.com/MvvmCross/
MvvmCross/wiki - https://github.com/MvvmCross/
MvvmCross-SQLite/issues/39 - http://stackoverflow.com/
questions/30648697/mvvmcross- community-plugin-for-sqlite- with-unified-api - http://blog.alectucker.com/
post/2015/01/19/sqlite-error- with-xamarinios-unified-api. aspx - https://bitbucket.org/
twincoders/sqlite-net- extensions -
ERROR: ERROR ITMS-90047: "Disallowed paths ( "iTunesMetadata.plist" ) found at: MyNewTool.app"
Solution:
For command line or IDE builds with XamarinVS
Source:
For command line or IDE builds with XamarinVS
- Ensure "Project Properties -> iOS IPA Options -> Include Artwork in IPA" is not checked. (Or manually set the
BuildIpa
andIpaIncludeArtwork
properties as mentioned above.)
- Build the app.
- Submit the
.ipa
file using Application Loader.
<Target Name="_CompileITunesMetadata" DependsOnTargets="_DetectSdkLocations;_DetectAppManifest;_GenerateBundleName;_CompileAppManifest">
<Message Text="Skipping CompileITunesMetadata task to prevent inclusion of iTunesMetadata.plist in the IPA" />
</Target>
Source:
- https://forums.xamarin.com/discussion/40388/disallowed-paths-itunesmetadata-plist-found-at-when-submitting-to-app-store/p1
- https://discussions.apple.com/thread/6997898?start=0&tstart=0
- https://bugzilla.xamarin.com/show_bug.cgi?id=29180#c0
Subscribe to:
Posts (Atom)