PhoneGap iPhone
PhoneGapLib is a static library that enables users to include PhoneGap in
their iPhone application projects easily, and also create new PhoneGap based
iPhone application projects through a Xcode project template.
https://github.com/phonegaphttps://github.com/phonegap/phonegap-iphone
Pre-requisites
Make sure you have installed the latest iPhone SDK. Download at http://developer.apple.com/ios
Build and install the Installer Package
- Launch "Terminal.app"
- Navigate to the folder where Makefile is (this folder)
- Type in "make" then press Enter
The installer should build "PhoneGapInstaller.pkg" into this folder,
then:
- Quit Xcode
- Launch "PhoneGapInstaller.pkg" to install PhoneGapLib, the PhoneGap
framework and the PhoneGap Xcode Templates.
Create a PhoneGap project (Xcode 3)
- Launch Xcode, then under the File menu, select "New Project...".
- Navigate to the "User Templates" section, select PhoneGap, then in the right
pane, select "PhoneGap-based Application"
- Select the "Choose..." button, name your project and choose the location
where you want the new project to be.
- Modify the contents of the "www" directory to add your HTML, CSS and
Javascript.
Create a PhoneGap project (Xcode 4)
- Launch Xcode, then under the File menu, select "New Project...".
- Navigate to the "iOS" section, under "Applications" - then in the right
pane, select "PhoneGap-based Application"
- Select the "Next" button, name your project and company idenfifier, then
select the "Next" button again.
- Choose the location where you want the new project to be.
- Run the project at least once to create the "www" folder in your project
folder.
- Drag and drop this "www" folder into your project in Xcode, and add it as a
folder reference.
- Modify the contents of the "www" directory to add your HTML, CSS and
Javascript.
Alternately, you can watch
this screencast.
Uninstalling PhoneGapLib, PhoneGap.framework and the Xcode Templates
- Launch "Terminal.app"
- Navigate to the folder where Makefile is (this folder)
- Type in "make uninstall" then press Enter
NOTE: It will ask you to confirm whether you want to delete the installed
PhoneGapLib directory (just in case you made changes there) as well as the
PhoneGap framework. It will not ask for confirmation in deleting the installed
Xcode templates.
Installer Notes
This installer will only install items under your home folder (signified by
~)
Items that will be installed:
- Xcode global var in ~/Library/Preferences/com.apple.Xcode.plist (which will
be listed under Xcode Preferences -> Source Trees)
- PhoneGapLib Xcode static library project under ~/Documents/PhoneGapLib
- Xcode project template in ~/Library/Application
Support/Developer/Shared/Xcode/Project Templates/PhoneGap
- Xcode 4 project template in ~/Library/Application
Support/Developer/Shared/Xcode/Templates/Project Templates/Application
- PhoneGap Xcode static framework under
/Users/Shared/PhoneGap/Frameworks/PhoneGap.framework (may change in future
updates)
- Symlink to the framework in (5) under ~/Library/Frameworks
To uninstall:
- Remove the PHONEGAPLIB value in Xcode Preferences -> Source Trees
- Delete the ~/Documents/PhoneGapLib folder
- Delete the ~/Library/Application Support/Developer/Shared/Xcode/Project
Templates/PhoneGap folder
- Delete the "~/Library/Application
Support/Developer/Shared/Xcode/Templates/Project
Templates/Application/PhoneGap-based Application.xctemplate" folder
- Delete the /Users/Shared/PhoneGap/Frameworks/PhoneGap.framework folder
- Delete the ~/Library/Frameworks/PhoneGap.framework symlink
PhoneGapLib Tests
There is a Xcode project that will test PhoneGapLib according to the mobile
spec. There is some setup needed before the project can be run. You will also
need git installed and in your path.
Set up the test project:
- Launch "Terminal.app"
- Type in "chmod 755 update_test.sh"
- Type in "./update_test.sh"
This will get the mobile-spec submodule and install it under the
PhoneGapLibTests folder. You can then build and run the PhoneGapLibTest project
to see the results.
You should run step (3) again before running any tests, to get the updated
mobile-spec.