0

系统信息 。Xcode:4.3.3 OSX:10.7.4

我已经下载了 phonegap 2.1(incubator-cordova-ios)。我已经使用文档中提到的命令行代码成功创建了项目。

$ ./path/to/cordova-ios/bin/create /path/to/my_new_cordova_project com.example.cordova_project_name CordovaProjectName

我使用下面的代码来构建我的项目。$ /path/to/my_new_cordova_project/cordova/debug

当我尝试调试时,出现以下错误

/Users/virtusa3/pgt/myproject1/CordovaLib/Classes/CDVContacts.m:252:14:错误:使用未声明的标识符 'ABAddressBookCreateWithOptions' [3] if (&ABAddressBookCreateWithOptions != NULL) { ^ /Users/virtusa3/pgt/myproject1 /CordovaLib/Classes/CDVContacts.m:253:24:警告:函数 'ABAddressBookCreateWithOptions' 的隐式声明在 C99 [-Wimplicit-function-declaration,3] addrBook = ABAddressBookCreateWithOptions(NULL, NULL) 中无效;^ /Users/virtusa3/pgt/myproject1/CordovaLib/Classes/CDVContacts.m:253:22:{253:24-253:66}:警告:分配给“ABAddressBookRef”的整数到指针转换不兼容(又名“const void * ') 来自 'int' [3] addrBook = ABAddressBookCreateWithOptions(NULL, NULL);') 需要桥接演员表 [4] CDVContact xferContact = [[CDVContact alloc] initFromABRecord:(ABRecordRef)[foundRecords objectAtIndex:k]]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/virtusa3/pgt/ myproject1/CordovaLib/Classes/CDVContacts.m:326:97:注意:使用 __bridge 直接转换(所有权不变)[4] CDVContact* xferContact = [[CDVContact alloc] initFromABRecord:(ABRecordRef)[foundRecords objectAtIndex:k] ]; ^_桥修复它:“/Users/virtusa3/pgt/myproject1/CordovaLib/Classes/CDVContacts.m”:{326:97-326:97}:“ _bridge”/Users/virtusa3/pgt/myproject1/CordovaLib/Classes/ CDVContacts.m:326:97:注意:使用 __bridge_retained 使 ARC 对象可用作 +1 'ABRecordRef'(又名 'const void ')[4] CDVContactxferContact = [[CDVContact alloc] initFromABRecord:(ABRecordRef)[foundRecords objectAtIndex:k]]; ^ __bridge_retained 修复:"/Users/virtusa3/pgt/myproject1/CordovaLib/Classes/CDVContacts.m":{326:97-326:97}:"__bridge_retained" /Users/virtusa3/pgt/myproject1/CordovaLib/Classes /CDVContacts.m:338:92:{338:92-338:135}{338:105-338:135}:错误:将 Objective-C 指针类型“id”转换为 C 指针类型“ABRecordRef”(又名“ const void ') 需要桥接演员表 [4] CDVContacttestContact = [[CDVContact alloc] initFromABRecord:(ABRecordRef)[foundRecords objectAtIndex:j]]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/virtusa3/pgt/ myproject1/CordovaLib/Classes/CDVContacts.m:338:93:注意:使用 __bridge 直接转换(所有权不变)[4] CDVContact* testContact = [[CDVContact alloc] initFromABRecord:(ABRecordRef)[foundRecords objectAtIndex:j] ]; ^ _桥修复它:“/Users/virtusa3/pgt/myproject1/CordovaLib/Classes/CDVContacts.m”:{338:93-338:93}:“_bridge " /Users/virtusa3/pgt/myproject1/CordovaLib/Classes/CDVContacts.m:338:93:注意:使用 __bridge_retained 使 ARC 对象可用作 +1 'ABRecordRef'(又名 'const void ')[4] CDV联系testContact = [[CDVContact alloc] initFromABRecord:(ABRecordRef)[foundRecords objectAtIndex:j]]; ^ __bridge_retained 修复:"/Users/virtusa3/pgt/myproject1/CordovaLib/Classes/CDVContacts.m":{338:93-338:93}:"__bridge_retained" /Users/virtusa3/pgt/myproject1/CordovaLib/Classes /CDVContacts.m:560:21:{560:23-560:67}:警告:从 'int' [3] addressBook = ABAddressBookCreateWithOptions(空,&错误);

4

1 回答 1

1

似乎与使用旧版本 Xcode 在 Snow Leopard 上构建的其他人报告的此问题有关: 运行 ./cordova/debug/cordova/emulate 会导致错误”

似乎有修复它的计划,但更新到 Mountain Lion 和 Xcode 4.51 将修复它。它对我有用。

于 2012-10-22T13:34:41.073 回答