Wikitude Phonegap iOS Plugin - ios6

I have configured the Wikitude iOS plugin as suggested here -
https://github.com/phonegap/phonegap-plugins/tree/master/iOS/AugmentedReality-Wikitude/Plugin
However, during the compilation it is showing me build error - WTArchitechview.h not found in WTWikitiudePlugin.m file.
I am currently having iOS 6 device and using Cordova 2.0.0. I found one guide in the wikitude documentation -
http://forum.wikitude.com/documentation?p_p_id=2_WAR_knowledgebaseportlet&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-2&p_p_col_count=1&_2_WAR_knowledgebaseportlet_mvcPath=%2Fdisplay%2Fview_article.jsp&_2_WAR_knowledgebaseportlet_resourcePrimKey=128189
It says I have to remove the armv7s architecture and have to do some modification files. I was not able to understand that modification part. I mean which file I have to modify.

I think you're having two problems.
The first is, that you have to download the Wikitude SDK from there website and then add the files from the SDK into your phonegap Xcode project (Follow the steps described in your first link). If you did this and still having compile time errors, make sure that either your user header search path from your Xcode project is set correctly or you copied the Wikitude SDK files into the folder which are already setup in the sample project. You can also remove the existing Wikitude SDK folder in your Xcode project and drag the one in, which you have downloaded.
The second link describes what you need to change in order to build your project with the Wikitude SDK in Xcode 4.5. You need to change this in your Xcode project settings. You have to do this because the Wikitude SDK needs some libraries which are not available for the armv7s architecture right now.

Related

How to add Scandit barcode plugin to custom build of Phonegap developer ios app?

I use Phonegap Desktop and Phonegap Developer app for a while now. This is really interesting for quickly testing my development.
But I'm facing a limitation with the embedded barcode scanner which is displaying the camera display in full screen.
I need to embed the camera display into a container so I have space for displaying information in the same time.
After searching for a while, I've discovered the Scandit SDK for PhoneGap was the only plugin which allows cropping the camera display.
I spent a lot of time trying to implement Scandit, but no success. At least I can build the app, but when using it, scanner is not working...
Here are the steps I've followed:
clone the PhoneGap Developer project from Git
Install using npm
add ios platform
open the xcode project file
build the application and run it on device
=> At this time the PG Dev is running well and my application is working fine
Then, i continued:
remove all reference to the default barcode scanner plugin
build the application and run it on device
==> PG Dev still working fine and my application is working fine
Next steps:
clone the Scandit phonegap plugin from Git
download the Scandit SDK from my scandit account
put the SDK into the cloned scandit phonegap plugin
modify the plugin.xml to change the path to the bundle and framework (mismatch of version name in the path)
<resource-file src="src/ios/scanditsdk-community-ios_4.16.1/ScanditBarcodeScanner.bundle"/>
<framework src="src/ios/scanditsdk-community-ios_4.16.1/ScanditBarcodeScanner.framework" custom="true"/>
copy bundle and framework into the correct folder of scandit
modify the config.xml to include reference to Scandit and set the spec attribut to the version of the SDK
build the application and run it on device
==> PG Dev still working fine and my application is working fine (it doesn't use scandit for the moment)
Next steps:
Remove my project from PhoneGap desktop
add Scandit Sample project to PG Desktop
I used the "Continuous Scaled/Cropped" example from there: http://docs.scandit.com/4.12/phonegap/cordova-examples.html
add my App Key for the license
launch my PG Dev app on my device and download the project files
==> PG Dev is running fine and download the Scandit Sample App.
But the app doesn't work. When clicking on the scan button, nothing happends..
After some investigation, I found that I ran through an exception on Scandit class.
Adding a try on the command 'Scandit.License.setAppKey' allowed me to report in the PG Desktop log the following error:
ReferenceError: Can't find variable: Scandit
Adding this try/catch made the app raising an exception at the next line:
var settings = new Scandit.ScanSettings();
After searching the web about my error, and some posts were suggesting to manually add the framework and bundle into xcode.
So I did it by drag&droping the framework and bundle into the framework folder of the xcode project.
But when I try building my project, it is failing with many errors...
To solve it, I had to had manually all the scandit plugin files (*.h and *.m) into my xcode project.
All previous errors have been solved, but new ones appeared.
This was due to some other missing native ios frameworks...
Once these framework added, all errors were solved and I managed to successfully build the application.
But when running it, I'm still having the error: "ReferenceError: Can't find variable: Scandit"
I'm now running out of idea..
What did I do wrong?
Is there anyone having managed to build a PG Desktop with Scandit embedded?
Thanks.
Sorry for this long post, just tried to be the more precise I could be.
The issue here is two fold. First you need to be aware that the Scandit Barcode Scanner plugin makes use of native code and can therefore not be used in the Phonegap Developer app, as the only thing transmitted to it is your html/css/javascript and the javascript part of the plugin. To also include the native parts of the plugin you have to build and deploy the project yourself. As you are trying to build the XCode project it seems like you are now doing this.
The second part is that you are way overcomplicating the adding of the plugin. There is no need for you to manually clone the git repo, add our libraries, adjust paths in the plugin.xml etc. You can directly download the entire plugin as a zip from your account at scandit.com where the library is contained and the plugin.xml is correct. After that you can simply add the plugin to your project through the CLI (also see our documentation for this at http://docs.scandit.com/stable/phonegap/cordova-integrate.html) and there is no need to do anything manually unless you are using a very outdated Phonegap version that fails to properly handle the plugin.xml. Doing it the automated way with our properly prepared plugin zip will remove most error sources, please try it that way.
Thanks #moritzha. It helped me finding the solution.
I followed this doc at the beginning but it was not working.
After adding the plugin and building the application, I never managed to see it in my xcode project.
I took the opportunity of changing my mac to restart everything from scratch, and after many tries I found where I was wrong.
In fact, the documentation provided by scandit is missing one step.
The command ' phonegap plugin add < path to downloaded and unzipped plugin > ' is doing half of the job.
The command is correctly copying the plugin files to my project but it is not updating the config.xml.
So before building your application, you have to edit the config.xml located at the root of your project folder.
You need to manually reference the plugin with the following:
and replace the x by the version of the sdk you will use.
Once the config.xml updated, you will be able to build the app for your targeted platform.
I now have my own version of the Phonegap Developer App with the Scandit plugin in place of the default barcode scanner plugin. And it works perfectly.
This plugin is awesome!
PhoneGap Developer App version: 1.7.2 (taken on Github)

IBM Worklight - How do I patch Cordova?

While adding support for the Windows 8 environment, I've hit a Cordova bug. The folders are being reported as files when I get the directory listing: https://issues.apache.org/jira/browse/CB-5774
I want to apply the patch in my project as I understand you cannot upgrade the Cordova version in a Worklight project.
I am using Worklight 6.1.0.
I figured out a way to patch (JavaScript patch).. I am sure this is not a permnant solution - but a adhoc one till the patched Cordova is available with a new version of Worklight.
In my case the bug was in FileProxy.js. I created a directory structure to mirror the location of the problem file and added the patched file there.(www\worklight\plugins\org.apache.cordova.file\src\windows8\FileProxy.js).
At build time the cordova files are copied first and then www contents are copied after... so my patched file overwrote the one with the bug.
I'm sure this is not a supported way by Worklight - but I am no longer blocked.
It is currently not possible to replace or patch the Cordova version that is being used in Worklight. In Worklight v6.1.0, Cordova v3.1 is used.
If you are an IBM customer or business partner you can open a PMR to see if an iFix can be produced that will contain a patched version of Cordova 3.1.

Installing Sencha Touch 2 framework

I've a problem with getting Sencha Touch to work. I'm using a MacBook Pro and it's really been a hell installing this framework. Sencha don't seem to have any documentation that fits the latest version of their product and there is no way for me to download an older version from their website. Therefore I need your help!
I've downloaded Sencha SDK, SDKTools and their Cmd-software. The version of the SDK is 2.1.1, the SDKTools is 2.0.0 and I dont know the version of the cmd-software. All three softwares is however the latest from Senchas webpage.
I've placed the SDK under the root of the web server, and I've also installed the SDKTools in the root.
This is the structure I'm currently using:
Root of webbserver:
- SDK
- SDKTools
The SDK works in the way that I can surf into it, by using my browser into the "SDK"-folder. On that page I can view examples of Sencha applications.
When I go the SDK folder via the Terminal, and type "Sencha" - I get the error:
[WARN] The current working directory (/Applications/MAMP/htdocs/SDK) is not a recognized Sencha SDK or application folder. Running in backwards compatible mode.
I've googled this and tried the following actions:
1. Placed the SDKTools in the same folder as the SDK.
2. Created a systemfile named .senchasdk with the content "sdk".
3. Created a systemfile named .senchasdk with the content ".".
The first option, naturally doesn't work (didn't differ anything from the previous setup). The 2nd and 3rd action resulted in compilationerrors when typing Sencha in the SDK-folder. Example down below:
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module '/Applications/MAMP/htdocs/SDK/command/sencha.js'
at Function._resolveFilename (module.js:332:11)
at Function._load (module.js:279:25)
at Array.0 (module.js:479:10)
at EventEmitter._tickCallback (node.js:192:40)
I've also tried typing "Sencha" from the SDKTools folder, but that doesn't work either. I don't know what this problem comes from and can't find any other solutions to solve this. Does anyone know? Or have any suggestions on solution or part of solution?
Sencha Touch 2.1 doesn't work with SDK Tools anymore. The documentation bundled with Sencha Touch 2.1 is not up-to-date. Here is the good documentation :
http://docs.sencha.com/touch/2-1/#!/guide/command
On their website, you can download the 2.0 version of the Sencha CMD tool which is used instead of SDKTools nowadays. However, if you use the 2.0 version you will meet nothing but trouble since that is outdated. The latest version as of right now is 3.1 and can only be downloadable from your account at support.sencha.com, and not from the download page when not logged in.

Integrate Flurry Analytics into a MonoTouch app

I've installed XCode and MonoTouch and built a basic app.
I'm trying to integrate Flurry Analytics into my application. I signed up and downloaded the SDK but I don't know what to do with it. I think I need a binding library and I found this one on GitHub.
Should I clone that repository or is it already installed somewhere because I have MonoDevelop installed? Is there somewhere standard I should clone it to?
I then add a reference from my application to the FlurryAnalytics.dll. Do I need to do anything with the FlurryAnalytics SDK?
You only have to add a reference to FlurryAnalytics.dll in your project, no need to do anything with the SDK you downloaded.
But have in mind that the dll in that git repository might be somewhat out of date, in which case you should rebuild the dll (and in this case you do need the SDK). Here is what you need to do:
Find libFlurry.a in the SDK and put it in the repository's FlurryAnalytics/binding directory.
Open a terminal and navigate to the repository's FlurryAnalytics/binding directory.
Execute make.
This should build an updated FlurryAnalytics.dll.

Google App Engine - recompile GWT module

I've created Google App Engine project in Java using Eclipse following the book Beginning Java Google App Engine
Before I bought this book I had created projects with unchecked option 'Use Google Web Toolkit' but for this project I checked it (following the book)
Eclipse generated several files for me and I run my applications, copy link to Web Browser (http://localhost:8888) and it gives me an error:
GWT module name_of_my_project may need to be (re)complied
I work on Ubuntu 10.04 (I was testing my application using Firefox and Chromium) and I was trying run my application on Windows XP (using the same Web Browsers) with the same effect (just one difference - Google Chrome made me install Web Toolkit...so I did it but it still gives the same error)
Thanks in advance :)
I get the same error message at unexpected times using development on IntelliJ with Chrome. The message still appears when I stop and start development mode. The problem is fixed after I delete the compiled files (class files, js files) in the out folder. On eclipse, you can try deleting files and folders generated in the war folder (delete the folder that has the project name, if it exists, and the classes folder under /war/WEB-INF/classes). Hope this helps.
Check in your "Java Build Path" if you have the correct Default output folder (something like /target/project-name/WEB-INF/classes).
In Eclipse, do a "Clean Build".
Click on the google blue button in the Eclipse menu and select "GWT Compile Project..."
Make sure the GWT plugin is compiling your project by checking the compiler output. The GWT compiler outputs lots of things, for example you will always see something like "Compiling 6 permutations.... Compiling permutation 0..."
If you still have problems, try this page on setting up Eclipse with GWT: http://code.google.com/webtoolkit/usingeclipse.html
Thanks for your comments and suggestions. I re-installed Eclipse on Ubuntu and I installed plugin one more time and it works :)
So, be careful which version of Eclipse you use - Eclipse 3.4 has problem with GWT.

Resources