iOS 应用程序:在模拟器上运行但不构建.app
Posted
技术标签:
【中文标题】iOS 应用程序:在模拟器上运行但不构建.app【英文标题】:iOS app : running on simulator but not building the.app 【发布时间】:2014-03-18 10:00:12 【问题描述】:我正在使用 Cordova 开发一个 ios 应用程序。 该应用程序在我的 iPhone 5 (iOS 7.1) 上完美运行,在模拟器上完美运行,但是当我尝试在我的朋友 iPhone 上运行它时出现错误,我无法生成 .app 文件。
这是我得到的错误:
ld: warning: ignoring file /Users/cherif/Library/Developer/Xcode/DerivedData/Twimbee-apcdinaymdyzzqbxokrfwnthqoes/Build/Intermediates/ArchiveIntermediates/Twimbee/BuildProductsPath/Release-iphoneos/libCordova.a, missing required architecture arm64 in file /Users/cherif/Library/Developer/Xcode/DerivedData/Twimbee-apcdinaymdyzzqbxokrfwnthqoes/Build/Intermediates/ArchiveIntermediates/Twimbee/BuildProductsPath/Release-iphoneos/libCordova.a (2 slices)
Undefined symbols for architecture arm64:
"_OBJC_METACLASS_$_CDVCommandDelegateImpl", referenced from:
_OBJC_METACLASS_$_MainCommandDelegate in MainViewController.o
"_OBJC_CLASS_$_CDVCommandQueue", referenced from:
_OBJC_CLASS_$_MainCommandQueue in MainViewController.o
"_OBJC_METACLASS_$_CDVViewController", referenced from:
_OBJC_METACLASS_$_MainViewController in MainViewController.o
"_OBJC_CLASS_$_CDVViewController", referenced from:
_OBJC_CLASS_$_MainViewController in MainViewController.o
objc-class-ref in CDVDevice.o
"_OBJC_METACLASS_$_CDVCommandQueue", referenced from:
_OBJC_METACLASS_$_MainCommandQueue in MainViewController.o
"_CDVPluginHandleOpenURLNotification", referenced from:
-[AppDelegate application:handleOpenURL:] in AppDelegate.o
"_OBJC_CLASS_$_CDVCommandDelegateImpl", referenced from:
_OBJC_CLASS_$_MainCommandDelegate in MainViewController.o
"_OBJC_CLASS_$_CDVPluginResult", referenced from:
objc-class-ref in FacebookConnectPlugin.o
objc-class-ref in CDVLocation.o
objc-class-ref in CDVDevice.o
objc-class-ref in PushPlugin.o
"_CDVLocalNotification", referenced from:
-[AppDelegate application:didReceiveLocalNotification:] in AppDelegate.o
"_OBJC_CLASS_$_CDVPlugin", referenced from:
_OBJC_CLASS_$_FacebookConnectPlugin in FacebookConnectPlugin.o
_OBJC_CLASS_$_CDVLogger in CDVLogger.o
_OBJC_CLASS_$_CDVLocation in CDVLocation.o
_OBJC_CLASS_$_CDVDevice in CDVDevice.o
_OBJC_CLASS_$_PushPlugin in PushPlugin.o
"_OBJC_METACLASS_$_CDVPlugin", referenced from:
_OBJC_METACLASS_$_FacebookConnectPlugin in FacebookConnectPlugin.o
_OBJC_METACLASS_$_CDVLogger in CDVLogger.o
_OBJC_METACLASS_$_CDVLocation in CDVLocation.o
_OBJC_METACLASS_$_CDVDevice in CDVDevice.o
_OBJC_METACLASS_$_PushPlugin in PushPlugin.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我是 iOS 和 xCode 的新手,请帮助!
【问题讨论】:
看起来你的库不是为 arm64 构建的,所以你没有得到任何你需要的符号。 【参考方案1】:我解决了这个问题。 在为 arm64 设备构建时,xCode 5.1 实际上几乎没有 Cordova 问题。 有一些简单的构建设置配置要做。 这是一个简短的教程: http://shazronatadobe.wordpress.com/2014/03/12/xcode-5-1-and-cordova-ios/
【讨论】:
【参考方案2】:好的!我遇到了同样的问题。这样做:
-
点击您的项目(目标)
点击构建设置
在库搜索路径下,删除路径
祝你好运;-)
【讨论】:
【参考方案3】:构建设置 > 架构
【讨论】:
以上是关于iOS 应用程序:在模拟器上运行但不构建.app的主要内容,如果未能解决你的问题,请参考以下文章
运行 react-native run-ios 就成功了。但不启动模拟器
应用程序在 iPhone 模拟器中构建和运行,但不部署到 iPhone
在ios模拟器上运行时查看cordova app的html代码