Today I needed to setup my PhoneGap app to produce a iOS version. No problem, I figured, PhoneGap provides a super geeky command line guide for building on both Android and iOS. The steps worked perfectly on Android so I'd figure they would work just as well on iOS.
The first command, bin/create silently ran, which I took as a good sign.
The second command, cordova/debug produced quite a bit of noise and then a big 'ol error:
Build settings from command line:
ARCHS = i386
CONFIGURATION_BUILD_DIR = /Users/user1603/dt/bar/foo/app/ios/cordova/../build
SDKROOT = iphonesimulator5.0
VALID_ARCHS = i386
=== CLEAN NATIVE TARGET FooApp OF PROJECT FooApp WITH CONFIGURATION Debug ===
...trimmed...
** CLEAN SUCCEEDED **
=== BUILD NATIVE TARGET FooApp OF PROJECT FooApp WITH CONFIGURATION Debug ===
Check dependencies
ProcessInfoPlistFile cordova/../build/FooApp.app/Info.plist FooApp/FooApp-Info.plist
cd /Users/user1603/dt/bar/foo/app/ios
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"
builtin-infoPlistUtility FooApp/FooApp-Info.plist -genpkginfo /Users/user1603/dt/bar/foo/app/ios/cordova/../build/FooApp.app/PkgInfo -expandbuildsettings -format binary -platform iphonesimulator -o /Users/user1603/dt/bar/foo/app/ios/cordova/../build/FooApp.app/Info.plist
PhaseScriptExecution "Touch www folder" build/FooApp.build/Debug-iphonesimulator/FooApp.build/Script-304B58A110DAC018002A0835.sh
cd /Users/user1603/dt/bar/foo/app/ios
setenv ACTION build
setenv ALTERNATE_GROUP _developer
...about 298 setenv's removed...
setenv YACC /Developer/usr/bin/yacc
/bin/sh -c /Users/user1603/dt/bar/foo/app/ios/build/FooApp.build/Debug-iphonesimulator/FooApp.build/Script-304B58A110DAC018002A0835.sh
CpResource /VERSION cordova/../build/FooApp.app/VERSION
cd /Users/user1603/dt/bar/foo/app/ios
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"
builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks /VERSION /Users/user1603/dt/bar/foo/app/ios/cordova/../build/FooApp.app
error: /VERSION: No such file or directory
CpResource FooApp/Resources/icons/icon-72.png cordova/../build/FooApp.app/icon-72.png
cd /Users/user1603/dt/bar/foo/app/ios
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"
builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks /Users/user1603/dt/bar/foo/app/ios/FooApp/Resources/icons/icon-72.png /Users/user1603/dt/bar/foo/app/ios/cordova/../build/FooApp.app
CopyPlistFile cordova/../build/FooApp.app/Cordova.plist FooApp/Resources/../Cordova.plist
cd /Users/user1603/dt/bar/foo/app/ios
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"
builtin-copyPlist --convert binary1 --outdir /Users/user1603/dt/bar/foo/app/ios/cordova/../build/FooApp.app -- FooApp/Resources/../Cordova.plist
CpResource www cordova/../build/FooApp.app/www
cd /Users/user1603/dt/bar/foo/app/ios
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"
builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks /Users/user1603/dt/bar/foo/app/ios/www /Users/user1603/dt/bar/foo/app/ios/cordova/../build/FooApp.app
CpResource FooApp/Resources/icons/icon.png cordova/../build/FooApp.app/icon.png
cd /Users/user1603/dt/bar/foo/app/ios
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"
builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks /Users/user1603/dt/bar/foo/app/ios/FooApp/Resources/icons/icon.png /Users/user1603/dt/bar/foo/app/ios/cordova/../build/FooApp.app
Verify exit code of build task 'CpResource icon.png'
Build task failed without generating error messages.
Huh?
I poked around on the web, and for the life of me, couldn't find anyone else who had the same problem. I tried tracing the build scripts a bit, but that didn't go anywhere. Finally, I just went for a run.
While out on my run I thought of a new plan: I'd build the app first using the GUI tools and *then* switch to command line mode.
I went ahead and slowly and carefully walked through the iOS Getting Started guide. I knew I was on to something when went ahead and installed Cordova-2.0.0.pkg as the instructions outlined. I was also pleased to see that the instructions for starting a new project are to run the same create script as the command line utility calls for.
Once I installed the required pkg file and re-ran create my application effortlessly built.
In other words: to use the command line tools in Android, just follow the Command Line instructions. To use the command line tools in iOS, follow the Getting Started guide first, then switch over to the command line tool set.
Along with the PhoneGap docs, I also found this tutorial top be handy, even if it was a bit dated.
Wow. Thanks. I'm gonna review my instruction guide for this.
ReplyDelete