Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode linker error when upgrading to PhoneGap 2.5.0

Tags:

ios6

cordova

I don't have any problem following the guide to on PhoneGap Documentation to upgrade their library. However, when I check with device.cordova, it shows "2.3.0" which is my previous version.

When I installed cordova.2.3.0, I did run

[phonegap-2.3.0]/bin/update_cordova_subproject [myproject]

because the project was copied over from other computer. Thinking that it shows 2.3.0 because I use absolute path for that CordovaLib subproject, I update my subproject again with

[phonegap-2.5.0]/bin/update_cordova_subproject [myproject]

Now when I build my project, I get this error

Undefined symbols for architecture armv7:
  "_ALAssetPropertyDate", referenced from:
      ___23-[CDVFile getMetadata:]_block_invoke in libCordova.a(CDVFile.o)
      ___27-[CDVFile getFileMetadata:]_block_invoke in libCordova.a(CDVFile.o)
  "_OBJC_CLASS_$_ALAssetsLibrary", referenced from:
      objc-class-ref in libCordova.a(CDVFile.o)
      objc-class-ref in libCordova.a(CDVFileTransfer.o)
      objc-class-ref in libCordova.a(CDVURLProtocol.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Can anyone help me with the errors? Or at least let me know what these errors mean?

like image 203
bizi Avatar asked Mar 07 '13 02:03

bizi


2 Answers

As Gary mentioned, you need to add the AssetsLibrary.framework. Add it from the Linked and Frameworks list. Now what happened to me is twas added at the root of the project tree, you can just drag it down to the Frameworks folder.

like image 124
jcuervo Avatar answered Nov 04 '22 04:11

jcuervo


Looks like you need to link against the AssetsLibrary.framework

like image 20
Gary Avatar answered Nov 04 '22 03:11

Gary