You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by Shazron <sh...@gmail.com> on 2012/01/20 01:00:16 UTC

[iOS] Renaming from PhoneGap to Cordova

I have a branch here where I have my changes related to renaming, and
using the new icons:
https://github.com/shazron/incubator-cordova-ios/tree/rename-pg-to-cordova

PhoneGapLib --> CordovaLib
PhoneGap-based Application --> Cordova-based Application
/Users/Shared/PhoneGap/Frameworks/PhoneGap.framework -->
/Users/Shared/Cordova/Frameworks/Cordova.framework

The only real issues are with _upgrades_.

For an app using PhoneGapLib as a subproject, this will break.
The fix is to rename the name of "PhoneGapLib" in the Project
Navigator to "CordovaLib" and update other Build Phase items and it
should just work. This relies on keeping the PHONEGAPLIB Xcode
variable unchanged and still available. I purposely didn't do any
fancy symlinking to make older projects work because it will just
cause more problems.

For an app using PhoneGap.framework, it should work as usual.
I removed the old framework and symlinked it to the new one, as well
as adding a symlink called 'PhoneGap' to the Cordova binary in the
framework bundle.

Some  items that I didn't rename because of the headaches for upgraders:

    1. PhoneGap.plist --> this is read explicitly to load app
settings, the whitelist settings, and plugin settings. This file is
included in each project, but read by the CordovaLib/Cordova.framework
so it will break things if we changed the name. A fix would be to try
to read from both the old and new files (fallback).
    2. PhoneGapBuildSettings.xcconfig --> related to PHONEGAPLIB Xcode
variable below
    3. PHONEGAPLIB Xcode variable --> this only relates to projects
using the PhoneGapLib sub-project. This variable is used in locating
the PhoneGapLib folder, as well as location of the header files used
in a project. There's no easy way to "upgrade" a user's existing
project unless we require them to edit their .pbxproj file which is
inside their .xcodeproj bundle (or provide a tool to do so).

1 and 2 can be worked around, 3 not so easily.