Cordova 3 + Ripple - google-chrome

Someone knows if Ripple works with latest cordova version? Cause I'm trying and I can't even start control panel. And when I try without it, pops some "alerts":
gap:["PluginManager","startup","PluginManager590841628"]
gap:["App","show","App590841629"]
Versions:
Cordova 3
Ripple 0.9.16
Chrome 28.0.1500.95 m

The ripple emulator has been broken for a long time, since cordova version 2.7 to version 3.1 (more or less: cordova version is not tied to ripple version). You can find it here: http://ripple.incubator.apache.org/
These articles are excellent to get you up to speed with the latest version of ripple:
http://www.raymondcamden.com/index.cfm/2013/11/5/Ripple-is-Reborn
http://www.raymondcamden.com/index.cfm/2013/11/7/Using-Grunt-to-automatically-build-your-PhoneGapCordova-projects
http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/
Hope this helps.

Found the answer!
You just need to remove the Ripple Extension from your Google Chrome.
But after that I had another problem: For Cordova 3.3.0, you might face this weird error while emulating the camera or the photo/media library:
Uncaught TypeError: Failed to execute 'setAttribute' on 'Element': 2 arguments required, but only 1 present. -- ripple.js:49275
/incubator-ripple-master_new/pkg/hosted/ripple.js - line 49279
change this:
capture.setAttribute("controls");
to this:
capture.setAttribute("controls", true);
and then you can restart Ripple. BTW, for version 0.9.20, you don't need to provide the path to 'platforms/android/assets/www' anymore, just provide the root path and it will identify your project:
./ripple emulate --port 1234 --path ~/tech/phonegap/myPhonegapApp/

Ripple project was given to Apache. You can find here.
There, we can find the GitHub repository that we can build newests versions.

This is how I got ripple to work using Phonegap 3.0.0 and Chrome 33.0.1750:
npm install -g ripple-emulator
phonegap local build android
cp platforms/android/assets/www/phonegap.js www/phonegap.js
ripple emulate
The reason for the copy of phonegap.js is that ripple issues a cordova prepare which rebuilds all files in .../assets/www and removes phonegap.js. Note that this happens everytime you refresh the emulator.
I have created a patch for this. Once this is installed change the URL in the emulator to include &phonegap=true, e.g.
http://localhost:4400/?enableripple=cordova-3.0.0-WVGA&phonegap=1

In case it helps others, I found that when running the command
$ cordova ripple ios 8080
i.e. not running Ripple directly, everything seemed to 'just work' for my albeit simple app in development.
I have v3 installed from NPM.

I'm using PhoneGap 2.9 with Ripple and though the alerts are annoying, the emulator seems to work fine. If you want to kill off the alerts, the line that send them (which appears to be only for debugging) is 4277 in cordova.js:
return prompt(argsJson, 'gap:'+JSON.stringify([service, action, callbackId]));
Commenting that line out seems to harmlessly remove the alerts.

I have been ignoring these alerts in ripple. Clicking cancel or hitting escape key.
After canceling the alerts Ripple worked well enough for development. (maybe not all features will be working)
I used phonegap 2.7.0.
You can get similar alerts when accidentaly using incorrect cordova.js which is platform dependent (e.g. use cordova.js for android on IOS device)

You can use this code in your head tag :
<script>window._cordovaNative = true;</script>

I went into hello/platforms/ios/CordovaLib and copied the cordova.js file into my www root
and changed in my index file
<script type="text/javascript" src="phonegap.js"></script>
to
<script type="text/javascript" src="cordova.js"></script>
and no more popups

Related

Webgl, Safari and Chrome Compatibility

I am making my first steps coding. And since a time ago I started experimenting with Three.js.
I changed the settings of Chrome and Safari to use local files, but some months later my safari and chrome are dead, and it stops showing the local files even if I change the settings to allow local files.
It seems that it brokes if I use it a lot. Why it happens? Is there a solution to avoid this problem?
I tryed to look for this problem in Google but I can't find anything. I am using the last versions of safari, chrome and three.js and even like this Safari and Chrome still broken.
Is not a problem of my graphic card because I can see all kind of experiments in the web. Is a problem of my local files.
For example I can see this perfectly on my browsers: http://threejs.org/examples/#webgl_geometry_text
But if I download three.js and I open it from my desktop my browsers doesn't display it.
Use a webserver. It's super simple and easy. The easiest is python which is built into OSX (you mentioned safari so I'm assuming you're on OSX)
Open a terminal, cd to the folder your files are in, type
python -m SimpleHTTPServer
Now go to http://localhost:8000
The only issue with python's simple webserver is it's really slow. For 2 faster alternatives there's devd which once you've downloaded it you just type
cd path/to/your/files
path/to/devd .
devd even includes a live-reload feature so when you edit your files the browser auto-reload
Another alternative is node.js. Install it then in a terminal type
sudo npm install -g http-server
from that point on you can go to any folder and type
http-server
then in the browser go to http://localhost:8080.
Both devd and node.js are fast
Going the node.js route you can then learn about things like webpack and npm and/or bower which make it super easy to include libraries and use advanced features and advance your skills

ERROR ITMS - 90167 No. app bundles found in the package

Before I start writing about the error, I'm running on macOS Sierra and using Xcode 7.3.1.
So I'm creating an Archive from my App, I validate the App and it passes validation, but when uploading to App Store, I get the error "ERROR ITMS - 90167 No. app bundles found in the package".
I've checked all my documentation and I have everything.
I have all my provisioning profiles.
I have Release as "iOS Distribution".
This error just started appearing after I installed macOS Sierra.
Anyone has an idea of why I'm getting this error?
After chatting with folks at WWDC in both the Xcode lab and the App Store lab, they were able to dig up information that this is a known issue in the current Sierra seed that is fixed in the next release. You can either revert, or wait. Not the most satisfying answer, I admit.
Problem:
Issue with the current macOS Sierra build.
Workaround
Build with Xcode 7.3.1 then upload using Xcode 8 [Beta]. (Thanks to #JollyRoger)
Currently, this workaround ONLY works for TestFlight and NOT for App Store submissions.
No need for fix [UPDATE]
So it seems that this bug has lasted for the whole beta period and it might not be worth for Apple to fix it anymore as the final version of iOS 10.0 is releasing in a few days and the final macOS Sierra is releasing a few days after that.
If you are still getting this issue with the final build of macOS Sierra, make sure you are using Xcode 8.x and not anything earlier than that.
Possible errors:
ERROR ITMS-90635
ERROR ITMS-90635: "Invalid Mach-O Format. The Mach-O in bundle
"....framework" isn’t consistent with the Mach-O in the main bundle.
The main bundle Mach-O contains armv7(machine code) and arm64(machine
code), while the nested bundle Mach-O contains armv7(bitcode) and
arm64(bitcode). Verify that all of the targets for a platform have a
consistent value for the ENABLE_BITCODE build setting."
Fix: Uncheck the Include Bitcode option before uploading.
INFO ITMS-90111
INFO ITMS-90111: "Beta Toolchain. This app has been built using beta toolchains. Apps built with beta toolchains are acceptable for TestFlight submission. Note that you will not be able to submit these builds for sale on the App Store."
Note: This will allow you to upload the build and use it for TestFlight but when trying to submit to the store you will be faced with this error message:
New apps and app updates must be built with the public (GM) versions of Xcode 6 or later, OS X, and tvOS SDK. Don't submit apps built with beta software including beta OS X builds.
If you are uploading from Xcode7(less than Xcode8) and macOS Sierra(V10.12), So this issue "ERROR ITMS-90167: "No .app bundles found in the package"" will come and will not allow to upload build to AppStore.
So use "Application Loader V3.6" or "Xcode8" to upload the build.
Try This, it worked like a charm for me,
We also facing same issues at time of updated macOS Sierra.
At time of upload build by using Xcode7.3.1 we get an error message
"ERROR ITMS-90167:"No.app bundles found in the package"
To Solve Error And Upload IPA file On App Store Follow Below Steps
We export build by using Xcode7.3.1.
-For upload build we use Application Loader V3.6 of Xcode8.
Xcode -> Open Developer Tools -> Application Loader
Follow Below Steps
1) Open Application Loader
2) Choose Build(IPA)
3)Uploading IPA file To app store
4)Successfully Submit Build(IPA)To App store
Your App will uploaded on Appstore,
Hope this is help for some one.
I would first like to thank #xemacobra for his solution, it worked for me until I needed to submit an application for Review.
If you need to submit an application for the App Store, and the build says You may not submit builds using beta software... here is the solution:
The problem is Xcode is sending the build information along with the version of you Mac OS. To fix that, you just need to change your Mac OS build to an older, acceptable, version.
Restart your Mac and hold Command + R on boot up
Open Terminal
Run csrutil disable
Restart your Mac.
In Finder, go to /System/Library/CoreServices/SystemVersion.plist
Open the file so that you may edit the SystemVersion.plist
Find <key>ProductBuildVersion</key> and locate the string attached to this key. For example, mine was 16A254g.
Change this string to a version of Mac OS that is currently supported for public release. At the time of this solution this one will fine: 15G31
Restart Xcode. Re-Archive your application. Re-Submit the application.
I did not try submitting the application through Xcode 7.3.1, but I do know this still works if you submit the .ipa through Xcode 8 beta 3.
Once you have submitted your build, revert the SystemVersion.plist to the original string, and repeat steps 1-4 replacing csrutil disable with csrutil enable.
I have also experienced the same. This is the simple way to solve your problem. Archive your app using Xcode 7.3.1 and export the ipa file of your app into a directory by selecting the option Save for iOS App Store deployment.
After that open Xcode 8.0 and open Application Loader from Xcode -> Developer Tools. Sign in to your team, and upload the ipa file using Xcode 8.0.
I have uploaded two apps to iTunesConnect, it will work for sure.
I was having this issue with Xcode 8 GM and trying to submit an app for release though Application Loader.
You have to use the version of Application Loader that comes with Xcode 8, which should be 3.6
I still have Xcode 7 installed, and was using Application Loader 3.5
Update
My apps submit okay now and go into processing, then soon after disappear completely. I think this might be a separate issue though.
Update 2
You still can't use Sierra to submit your apps. At least not until they release the GM.
Update 3
This issue is still occurring with this particular project. All other new ones (sticker apps) that I have created since public launch have been submitted to iTunes Connect with no issues.
I worked on this project during the betas, so it's possible something has been corrupted along the way and is causing issues. Might require starting a new project in Xcode 8.
There's a thread on the developer forums addressing this issue. https://forums.developer.apple.com/thread/62703
Solution
Turns out the fix for us was to add the "NSCameraUsageDescription" key
to the info.plist with a description of what the camera does in the
app.
Not sure if that solution will help in all cases though.
I submit an app built using LibGDX and had the same issue after upgrading to Sierra. I solved it by:
Upgrading Xcode (8.x), as explained above
Use the latest version of appLoader (3.6). To do that, use the AppLoader available within Xcode. I was using a standalone version of the appLoader: that's incorrect. Open Xcode and go to Xcode->Open Developer Tool->Application Loader
Unable to process application at this time due to the following error: No .app bundles found in the package. This issues appear when your pc's space is less. So clear you trash or some useless document from you pc. Then let's try again! It's work for me!
I recently upgraded to macOS Sierra and also received this error message. After uploading through the application loader failed.I downloaded Xcode 8 (kept my 7.3.1 copy). Closed Xcode 7.3.1. Opened Xcode 8-> Organizer-> proceeded to validate and upload my build. It worked. Hope this helps someone in a similar situation.
Maybe it's about your disk space check your disk space.
Try open App Loader from Xcode8.
Xcode > Open Developer Tools > Application Loader
Then you can upload app to TestFlight without the error.
These are all fabulous answers above... follow Nicholas's 9 step process above and also Tobeiosdev if you don't have write access to the SystemVersion.plist file.
However be very careful about how you read the step by step guide. DO NOT do as I did and restart your device after editing that plist file, as you will render most applications on your mac useless, including Terminal & TextEdit (which are required to edit it back). Reopen terminal inside Sierra (or the beta OS you are running) not inside the command line.
I unfortunately found out the hard way and then could not edit the plist file again in the command line. So I then had to reboot several times before finding the solution which was to go into single user mode (Command-S on restart), all of which scared me senseless that I had ruined the build of my mac. Eventually got everything running again but was somewhat delayed too by having to reinstall Xcode 8... leading to a sleepless night as my first ever submission to the AppStore.
All in all, the above is a perfect solution that works all around, IF you follow the directions correctly. Lesson learnt!
I accidentally opened an old version of the Application Loader Version 3.5 (921) and got the error ITMS-90167 no app bundles found. Be sure you open the Application Loader over the menu of Xcode (Xcode->Open Developer Tool). Version 3.6 (1020) works like a charm! :)
I solved this problem as follows, find your archive in the Organizer, and then:
Show in finder
Show package contents
In the „Wasabi.xcarchive“ file, find the
„Products“-„Applications“-„Wasabi.app“(Wasabi is your app’s name),
„Show package contents“ again
Finally, you can see there has a file named“Info.plist“, open it
Edit the value with a key named „BuildMachineOSBuild“, I just change
it to „15F34″(it’s „El Capitan 10.11.5“ ’s version)
According to #Fan Zhang answer follow these steps and you can upload this archive use Xcode or Application Loader, whatever you want!
When you archived your app, find your archive in the Organizer, and then:
-->"Show in finder";
-->"Show package contents";
-->In the "xx.xcarchive" file, find the "Products"->"Applications"->"xx.app"(xx is your app's name), "Show package contents" again;
-->Finally, you can see there has a file named"Info.plist", open it;
Edit the value with a key named "BuildMachineOSBuild", I just change it to "15F34"(it's "EI Capitan 10.11.5" 's version);
With me, my application writing by Swift 2.2. And must use Xcode 7.3.1 to archive and upload to Apple testflight but got the same error(I run on macOS Sierra-10.12). The follow solution fix it for me, hope another who face the same problem can find somethings helpful:
1> Use Xcode 7.3.1 to archive
2> Export to file .ipa
3> Quit Xcode 7.3.1 then open Xcode 8, and then open Application Loader, use Application Loader to upload file .ipa to itunes connect.
In case this helps, I had the same error code "ERROR ITMS - 90167 No. app bundles found in the package" using mac OS 10.14.4 with Xcode 10.2.
(As a note, I was able to successfully submit builds some weeks ago with the same configuration, but this seems to be something in the iTunes Connect side)
Had to update to mac os 10.14.6 and Xcode 10.3 to successfully submit my build.
I faced the same problem .
what worked for me was ->
go to target-> signing & capabilities -> signing certificate -> I had to revoke one certificate. Always revoke the Certificate by the name of admin's iMac .
It is created by default while making your certification and profiles.
**Picture is attached for the reference.
PS:- always make sure the bundle id is same on App store connect and Xcode before archiving.
The privacy settings are changed for iOS 10, more on this could be read here
I had previous described issues, which had to be solved as described, but after successful upload application wasn't visible on iTunes connect.
I had to add Privacy - Bluetooth Peripheral Usage Description key in a plist in order to solve the last one.
Other missing keys will make the same problem.
I was getting this error with Xcode 7.2.1 and Application Loader 3.4 on macOS 10.12.1.
But for some reason, it worked if I used the command-line "altool" to do the upload instead:
'/Applications/Xcode-7.2.1.app/Contents/Applications/Application Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions/A/Support/altool' \
--upload-app -f your-app.ipa \
-u your-apple-id -p your-apple-id-password \
--output-format xml
I had to provide missing application name in order to fix this problem.
Go inside your Appstore and download the new version of Transporter.
this worked for me

Visual Studio 2013 native cordova app build error

I just installed and repaired my VS2013 to build Native Cordova App. I have also installed the latest version of NodeJS but whenever I am trying to build the Application It gives me an error. I am uploading an image for more details on error as I believe image provide more info than text.
Posting error details if error is not clear in an image
Cannot find module 'q'.
The command ""C:\Users\nnnc\AppData\Roaming\npm\node_modules\vs-mda\vs-cli" prepare --platform Android --configuration Debug --projectDir . --projectName "BlankCordovaApp1" --language "en-US"" exited with code 8. C:\Users\nnnc\AppData\Roaming\npm\node_modules\vs-mda-targets\Microsoft.MDA.targets
I have advanced a little bit more but having hard time to run the application I have to manually installed all the required module. but now whenever I am running my project I get an error of web page is not available. please look at the attached image again.
I found that running npm install from within /vs-mda/ solved all my problems.
found the fix and that Involved manually loading packages like q via node js and in the end the fix for web page is not available was that ripple has changed and now we should not add it as an extension via chrome. it should be done via node js as well as below
npm install ripple -g
but before doing that delete it from chrome if you have got it otherwise just run the command.
Regards

How to configure Brackets.io Live Development to use Chromium instead of Chrome on OSX?

I would like to reuse already installed in the system Chromium browser and do not additionally install Chrome (because then I can't use Chromium at the same time - they share one profile folder by default on OSX, also for other reasons)
Here are ideas, the problem is - they are just conceptual, not ready to implement:
edit Brackets configs (didn't find much of them) to call Chromium (how it calls)
edit Chromium configs (to mimic the Chrome?)
use dev tools remote debugger and connect to created web-socket
create link to Chromium via: sudo ln -s ~/Applications/Chromium.app/Contents/MacOS/Chromium /usr/bin/google-chrome // didn't work
connect to the simple static server from the folder (via httpster) // didn't work
How is it possible to use Chromium instead of Google Chrome to use Brackets' Live Development feature?
On Mac, Brackets locates Chrome based on its bundle identifier. So in theory, if you hack Chromium's Info.plist to change its bundle id to com.google.Chrome (and I guess remove or patch any copies of Chrome that might collide with that) -- then Brackets should launch Chromium for you.
In the future, Brackets plans to make this more configurable as an official feature - but it's not there yet.

How to change config settings on local ios phonegap build from the new Phonegap CLI?

FYI; Phonegap CLI: http://log.michaelbrooks.ca/post/phonegap-cli-preview
So, after making a build with the new Phonegap CLI, getting a project with the new Phonegap 3.0, I wanted to run my application on an ios simulator:
> phonegap local run ios
This successfully install the phonegap application onto the IOS 6.1 simulator and runs it- all good so far. Problem is that all REST-functionality is not working. I dig around and find out that the phonegap local run ios automatically creates a ios xcode project at /platforms/ios/. Inside this folder I can locate a config.xml-file with access origin set to only allow http://127.0.0.1*. Now, I want to change this, so I do. Problem is that when I run phonegap local run ios again the old config file is back.
So basically, the questions end out in:
How do I change the Phonegap configuration settings when using Phonegap CLI?
Ah, I feel very embarrassed now, but I think its better to share then to delete :)
If you have a config.xml file in your www-folder (which shipped originally, but I have removed) you can change the values from there. This file will be copied over.
So in my config.xml-file inside my apps www-folder I found:
<access origin="http://127.0.0.1*"/>
Just before the last tag, . I changed this to:
<access origin="*"/>
And then everything worked :)