Phonegap/Cordova编写跨平台-- iOS安装过程(错误 Error: could not start active Xcode path '/Volumes/Xcode/...)

来源:互联网 发布:javascript 隐藏 编辑:程序博客网 时间:2024/05/10 00:23

1. 先在xCode上安装 Command Line Tool. 具体可以在 Preference -> Downloads -> Components -> Command Line Tools. 选择并安装即可。

2. 如果你的terminal不能运行 npm,那先得安装 Node.js。http://nodejs.org/download/  要下载 "Macintosh Installer (node-v0.10.29.pkg)". 不要下载“Mac OS X Installer (.pkg) Universal”,因为这个包会报“No software to be installed”的错。

3. 在命令行terminal利用 npm安装 Cordova

?
1
sudo npm install -g cordova

4. 开始建立第一个Hello的应用:

?
1
$ cordova create hello com.example.hello HelloWorld -d
-d 是为了在过程中能输出信息。

之后,在你运行上面这条命令的路径下,就会建立一个"hello"的目录。在hello目录下有一个 "www"的目录,将是你应用的hompage的目录。

执行命令,为hello添加iOS的平台支持(注意要先切换到hello目录下,命令为:$ cd hello,就到了hello目录下了,在执行下面的命令。)

?
1
$ cordova platform add ios

执行成功后,在 hello/platforms/下面就会多了一个ios的目录了。

注意这时也可能报错哦,如果爆出错误:xcrun: Error: could not start active Xcode path '/Volumes/Xcode/Xcode.app/Contents/Developer'. (No such file or directory).

这通常是因为,我们将下载的Xcode(如:xcode_5.1.1.dmg)之后,然后直接双击该文件,在弹出的窗口中,直接点击“Xcode.app”按钮,来启动和使用Xcode(这时随人不影响使用xcode,但是xcode也没安装。其实不太建议这种做法,建议在这个弹出窗口里,将左面Xcode.app拖到右面的Applications的位置,这时才真正的安装xcode)。安装xcode之后,其实xcode就被安装到applications目录下了。通过finder到applications目录下,就可以看到xcode.app。

此时那么xcode的安装目录和默认的安装目录不一致了,那么就需要切换过来,在终端中,输入:$ sudo xcode-select -- switch /applications/ Xcode.app/Contents/Developer,回车,然后输入登陆机器的密码,就切换好了。然后再执行命令:$ cordova platform add ios,就ok啦。

运行下面命令build项目

?
1
$ cordova build
一堆信息过后,最后出现"BUILD SUCCEEDED"

之后,就可以,在xCode中打开该项目。选择"platforms/ios/HelloWorld.xcodeproj"文件打开。

在 xCode中运行该项目,就可以在simulator中看到了:

添加CordovaLib子项目

cordova-2.3.0/cordova-ios/CordovaLib下,将CordovaLib.xcodeproj拖拽到项目中

TARGET-> Build Settings -> Other Linker Flags,添加 -all_load 和 -Obj-C 

TARGET -> Build Phases -> Link Binaries with Libraries,添加一下frameworks:

  • AddressBook.framework
  • AddressBookUI.framework
  • AudioToolbox.framework
  • AVFoundation.framework
  • CoreLocation.framework
  • MediaPlayer.framework
  • QuartzCore.framework
  • SystemConfiguration.framework
  • MobileCoreServices.framework
  • CoreMedia.framework

TARGET -> Build Phases -> Target Dependencies,添加CordovaLib

TARGET -> Build Phases -> Link Binaries with Libraries,添加LibCordova.a

TARGET-> Build Settings -> Header Search Path,添加一下项:(注意:带引号

"$(TARGET_BUILD_DIR)/usr/local/lib/include"

"$(OBJROOT)/UninstalledProducts/include"

"$(BUILT_PRODUCTS_DIR)" 



0 0