Splashscreen wrong since XCode 7 - angularjs

I took over a project using AngularJS, Ionic and Bootstrap to create hybrid apps for mobile devices.
Prior to upgrade to XCode 7 all went well. I updated my HTML-, CSS- and JS-code in editor, ran grunt run:ios to create platform code and opened XCode. From there I built the .ipa-file without any issues (justwith some warnings, which could be ignored).
However since using XCode 7 (needed for iOS 8- and iOS 9-devices), the splascreen will be shown incorrectly. Meaning: Rotated with 90°.
Note #1: The splashscreen and the app have to be Landscape-only.
Note #2: When running grunt run:android, all is well on the Android-based device.
Any idea what to do in order to get the old correct state again?

There is a known bug in the cordova-plugin-splashscreen plugin relating to your issue ( Issue CB-10244 ). Try to update this plugin to cordova-plugin-splashscreen#3.1.0 by re-adding it:
cordova plugin rm cordova-plugin-splashscreen
cordova plugin add cordova-plugin-splashscreen

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)

Codenameone Bluetooth APIs not working on android

I have downloaded BluetoothDemo from https://github.com/chen-fishbein/bluetoothle-codenameone. I created APK file using codename one build server and install it on my android mobile. Its not working. Is there any way to fix it?
Can I run the same from netbeans using AVD manager or something similar to that so that I can debug it myself?
If I started bluetooth manually, following is error on mobile phone on click of initialize or start scan option-
Error snapshot attached
You need to also add the https://github.com/shannah/CN1JSON/ cn1lib and install it using the codenameone-refresh cn1libs action
If you are running Android 7.x. you will also need to make sure that 'Location' is enabled in the App settings, otherwise the behaviour will be exactly the same as described in the question. See this comment. Codenameone provides a setting for permissions in their build hints with ACCESS_COARSE_LOCATION but that does not seem to work on my Nexus 6P with Android 7.1. I had to enable it manually.

is there is any way to build hybrid app (Ionic, AngularJs, Cordova) in android studio

I am native android application developer working on java and android api's with android studio, recently i got a requirement to build a hybrid app with ionic, cordova and angularJs, i spent 5-6 hours and dig google to get some tutorail to setup a project structure of hybrid app in andorid studio, but haven't found anything.
I know how to use ionic, angular and cordova but don't know about the project structure and setup compiling and how to run.
so, i want you guys to post links of such tutorails (If you have any).
Have a look over cordova CLI mode. In this see specific for Android Platform for that you first need following pre-requirement to use:
Android Studio.
Android SDK.
Node.js
Git Client
After installing Node.js Open it's terminal and follow command to create Cordova project with different platform. These steps are already mentioned in official documentation.
Once you have created executed cordova build androidcommand then browse to your project directory. In that you will find that there's a directory named platforms in that you will see Android, now open your Android Studio in that select Select Import Project (Eclipse ADT, Gradle, etc). when you create a new project from there browse to Android directory. That's all you need to do for cordova
Official documentation and referrals links:
http://ionicframework.com/docs/overview/#download
https://cordova.apache.org/docs/en/5.1.1/guide/platforms/android/index.html
https://cordova.apache.org/docs/en/5.1.1/guide/cli/index.html
https://docs.angularjs.org/misc/started
Hello try to reefer this articles on mcgivery blog.
http://mcgivery.com/100-ionic-framework-resources/
I'm ionic dev and if you want to use good IDE use WebStorm :)
I'm using it on EAP version.
first of all you have to install 1)node.js 2)apache ANT 3) Java JDK &
JRE 4) Android SDk & Eclipse and then after all installation you have
to set this all software path into environmental- variable. and then
fire your npm install -g ionic. without this all software
installation and there path setup your ionic application will not
created. and still you have any confusion and any question related
software installation and there path setup then again tell me i will
help you.

how to run sencha touch examples in iOS simulator

I installed sencha touch and sencha touch command and was able to view the examples in localhost.
But How do I run these examples in iOS simulator?
I tried below commands from with in the examples directory on iMac
from directory: touch-2.3.1/examples/kitchensink
sencha app package run packager.json
User-iMac:list-horizontal yuyutsu$ sencha app package run packager.json
Sencha Cmd v4.0.4.84
[ERR]
[DEBUG] Session could not be started: Error Domain=DTiPhoneSimulatorErrorDomain Code=1 "The application that opened iOS Simulator failed to send all of the required information (sessionUUID, sdkRoot, deviceInfo)." UserInfo=0x7fe4f0d0ce40 {NSLocalizedDescription=The application that opened iOS Simulator failed to send all of the required information (sessionUUID, sdkRoot, deviceInfo)., DTiPhoneSimulatorUnderlyingErrorCodeKey=-1}
The application was successfully packaged
[ERR] stbuild exited with non-zero code : 1
or from another app, directory: touch-2.3.1/examples/list-horizontal
Also tried running sencha app build -run native.
It failed with
/Users/yuyutsu/work/Software/mobile/Sencha/touch-2.3.1/examples/kitchensink/.sencha/app/packager-impl.xml:83: /Users/yuyutsu/work/Software/mobile/Sencha/touch-2.3.1/examples/kitchensink/resources/loading does not exist
I have Xcode 5. OS X version 10.9.2. I am able to run the native XCode projects in simulator using XCode.
Any idea on how can I run the sencha examples in iOS simulator? Is there a document which has the steps?
One very easy way (if you don't need device api) is to build the webapp through Sencha CMD and navigate in iOS Simulators Safari to the index.html file. You can do "add to Homescreen" and if you click the icon on your homescreen now you get the app in fullscreen.
The big advantage is that you can do really quick builds, but it does not fit always, because it's just the webapp, not the native one.
If you need to package your app native (e.g. for Device API) you can follow this guide: http://frightanic.com/software-development/sencha-touch-native-packaging-for-ios-done-right/
As it is running on localhost, you can simply check on simulators by using the same urls as on browser
iPhone 4
iPhone 5
Also, you can try Intel XDK, it has inbuilt iPhone simultors. It is easy to use. Simply put application and run.
Intel XDK
Or you can try packaging it in native iOS so that you can run in Xcode and see on Xcode simulator your app working. For that you can use Phonegap, refer link
http://docs-origin.sencha.com/touch/2.3.2/#!/guide/cordova-section-iOSNote
Also,
http://docs.sencha.com/touch/2.3.2/#!/guide/native_provisioning
Hope this helps you with your problem.
Failure to launch iOS simulator could be because of the below bug mentioned in sencha forum
"There is currently a bug open SDKTOOLS-783 where Sencha Native packager fails to locate Xcode 5.1 and thus unable to run in simulator."
I will try Phonegap/Cordova and post my observations.

gwt to android using phonegap

I need to push my gwt application to android via using phonegap.I followed http://code.google.com/p/gwt-phonegap/wiki/GettingStarted and this tutorial http://blog.ic3man.gr/?p=120 . But when i run the application i get error gwt application must be recompiled .
These are steps i followed
compile the gwt application
2.create a phonegap project in android as stated in Getting started
3. move the war directory of gwt application to android project
4. pointed the .nocache.js file as index for android app.
Please let me know where i am going wrong!
normally when you get such an error your nocache.js file does not match your compiled javascript.
This might happen if you are using maven and eclipse with google eclipse plugin together and haven`t properly selected the right folders for your war folder and the compile folder.
Maybe you need to read: http://code.google.com/p/google-web-toolkit/wiki/WorkingWithMaven
I fixed this issue,I use Eclipse IDE,and on right clicking Project option called Google has GWT Compiler,it generates all possible js. Now run the Project,and it worked fine for me in android via Phonegap-gwt ! Hope it helps someone!

Resources