Category Archives: apache

[error] An error occurred while building the ios project.xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

nomade$ phonegap build ios
[phonegap] detecting iOS SDK environment…
[phonegap] using the local environment
[phonegap] compiling iOS…
[error] An error occurred while building the ios project.xcode-select: error: tool ‘xcodebuild’ requires Xcode, but active developer directory ‘/Library/Developer/CommandLineTools’ is a command line tools instance
PROVIAMO a risolvere anche questa:
You can download the Xcode command-line tools in either of two ways:
To install the necessary Xcode tools using Xcode on the Mac:

  1. Start Xcode on the Mac.
  2. Choose Preferences from the Xcode menu.
  3. In the General panel, click Downloads.
  4. On the Downloads window, choose the Components tab.
  5. Click the Install button next to Command Line Tools.
    You are asked for your Apple Developer login during the install process.

To install the necessary Xcode tools from the Web:
You can download the Xcode command line tools directly from the developer portal as a .dmg file.

  1. On the Mac, go to https://developer.apple.com/downloads/index.action
    You are asked for your Apple Developer login during the install process.
  2. On the “Downloads for Apple Developers” list, select the Command Line Tools entry that you want.
 fonte: http://docwiki.embarcadero.com/RADStudio/XE4/en/Installing_the_Xcode_Command_Line_Tools_on_a_Mac

Cordova Apache – PhoneGap su Android: come aggiungere audio

Potreste non sapere quali plugin ci sono già installati e quali no, quindi prima fate:
$ cordova plugin ls
1) Apriamo una riga di comando e scriviamo:
$ cordova plugin add org.apache.cordova.media

 

ok, ora avete i permessi .. ma..
non va ancora nulla…
 
Quindi vediamo che aggiungere: javascript:

 <script type="text/javascript" charset="utf-8">
        // Wait for device API libraries to load
        //
        document.addEventListener("deviceready", onDeviceReady, false);
        // device APIs are available
        //
        function onDeviceReady() {
            playAudio("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3");
        }
        // Audio player
        //
        var my_media = null;
        var mediaTimer = null;
        // Play audio
        //
        function playAudio(src) {
            if (my_media == null) {
                // Create Media object from src
                my_media = new Media(src, onSuccess, onError);
            } // else play current audio
            // Play audio
            my_media.play();
            // Update my_media position every second
            if (mediaTimer == null) {
                mediaTimer = setInterval(function() {
                    // get my_media position
                    my_media.getCurrentPosition(
                        // success callback
                        function(position) {
                            if (position > -1) {
                                setAudioPosition((position) + " sec");
                            }
                        },
                        // error callback
                        function(e) {
                            console.log("Error getting pos=" + e);
                            setAudioPosition("Error: " + e);
                        }
                    );
                }, 1000);
            }
        }
        // Pause audio
        //
        function pauseAudio() {
            if (my_media) {
                my_media.pause();
            }
        }
        // Stop audio
        //
        function stopAudio() {
            if (my_media) {
                my_media.stop();
            }
            clearInterval(mediaTimer);
            mediaTimer = null;
        }
        // onSuccess Callback
        //
        function onSuccess() {
            console.log("playAudio():Audio Success");
        }
        // onError Callback
        //
        function onError(error) {
            alert('code: '    + error.code    + '\n' +
                  'message: ' + error.message + '\n');
        }
        // Set audio position
        //
        function setAudioPosition(position) {
            document.getElementById('audio_position').innerHTML = position;
        }
        </script>
ed infine l’ html:
<a href="#" class="btn large" onclick="playAudio('http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3');">Play Audio</a>
        <a href="#" class="btn large" onclick="pauseAudio();">Pause Playing Audio</a>
        <a href="#" class="btn large" onclick="stopAudio();">Stop Playing Audio</a>
        <p id="audio_position"></p>
fonti: https://groups.google.com/forum/#!forum/phonegap http://simonmacdonald.blogspot.it/2011/05/using-media-class-in-phonegap.html Audio da SD : http://mobile.tutsplus.com/tutorials/phonegap/build-an-audioplayer-with-phonegap-application-logic/

[error] An error occured during creation of android sub-project. ERROR : executing command 'ant', make sure you have ant installed and added to your path.

Pare che capiti ed è quindi successo anche a me, che fortuna!, che in qualche versione di MAC OS non ci sia “ant”, parte di apache indisoensabile a cordova/phonegap.
trovato 3 soluzioni:
http://stackoverflow.com/questions/19495610/error-executing-command-ant-on-mac-os-x-10-9-mavericks-when-building-for-andro
1)homebrewe 2)macport – due software che fanno più o meno la stessa cosa.
3)scaricare e mettere il pacchetto al posto giusto
Quind, io ho scelto la prima, facciamo:
1)installatevi Xcode e dite addio a metà del vostro pomeriggio!!
è un IDE pesantissssimo! ecco perchè non lo avevo mai usato.
utilizzo Aptana di solito, che è un filo più leggero di Eclipse.
Comunque mi sono decisa a scaricare Xcode perchè se volete costruire anche app per IOs, vi tocca.
Quindi se vi serve fatelo.
2) da terminale copia incollare e dare invio:
ruby -e “$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)”
è possibile che si metta in mezzo l’installer del mac perchè vi mangano dei componenti aggiuntivi, aspettate che abbia finito e tornate sul vostro terminale.
poi:
$brew update
Already up-to-date.
$ brew doctor
e dice tante cosine .. tra cui.. l’unica che mi ha allrmata:
Consider setting your PATH so that /usr/local/bin
occurs before /usr/bin. Here is a one-liner:
echo export PATH=’/usr/local/bin:$PATH’ >> ~/.bash_profile
OK, lo considererò.
ora:

$ brew install ant
==> Downloading http://www.apache.org/dyn/closer.cgi?path=ant/binaries/apache-ant-1.9.3-bin.tar.gz
==> Best Mirror http://it.apache.contactlab.it/ant/binaries/apache-ant-1.9.3-bin.tar.gz
######################################################################## 100,0%

e WOW!
Quindi torniamo alla nostra cartellina con il progetto di phonegap
$ phonegap build android
[phonegap] detecting Android SDK environment…
[phonegap] using the local environment
[phonegap] adding the Android platform…
[phonegap] compiling Android…
[phonegap] successfully compiled Android app
FUNGE! FUNGE! 🙂