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代码

pushviewcontroller 在分发构建时崩溃但不调试

Flutter - 为 iOS 模拟器构建

无法在 iOS 模拟器上运行颤振应用程序