2010-11-23 47 views
2

我的应用程序使用CorePlot并运行在模拟器
罚款(从访问libCorePlot-CocoaTouch.a:
/用户/ MYNAME /核心剧情/编译/调试-iphonesimulator)。CorePlot:如何在设备上运行? (模拟器上工作确定)

要在设备上运行时,Xcode预计libCorePlot-CocoaTouch.a在:
/用户/ MYNAME /核心剧情/编译/调试-的iPhoneOS
但文件丢失,所以Xcode中给出了错误:
“ /Users/Giovanni/core-plot/build/Debug-iphoneos/libCorePlot-CocoaTouch.a:没有这样的文件或目录”

我企图以生成一个: CorePlot-CocoaTouch.proj>设置的Xcode的基础上'device'>'Build And Run' 但'Build and Run'灰显。
复制模拟器版本显然不起作用。

任何想法?

回答

-1

解决方案:问题是CorePlot-CocoaTouch.xcodeproj还必须添加为目标> MyApp> getInfo> DIRECT依赖项(除了作为子项目以及除了libCorePlot-CocoaTouch被添加为目标> MyApp> getInfo> LinkedLibraries )。谢谢

2

考虑添加CorePlot-CocoaTouch.xcodeproj作为子项目,然后添加libCorePlot-CocoaTouch作为依赖项。

+0

谢谢,但CorePlot-CocoaTouch.xcodeproj已经是应用程序的子项目,并且它已经是一个依赖项(位于目标> MyApp> getInfo> LinkedLibraries中)libCorePlot-CocoaTouch已经是一个依赖项。 这就是它在模拟器中工作的原因。 错误消息指示问题缺失/ Users/myName/core-plot/build/Debug-iphoneos中的文件。 (但该文件存在于/ Debug-iphonesimulator中,因此它可以在模拟器中运行)。 – sambaMan 2010-11-24 02:22:40

+0

如果您编译构建目录并重建,它会输出哪些文件?我猜测它输出了一个名为libCorePlot-CocoaTouch.a的东西,但是将它粘在错误的目录中。一般来说,我发现子项目通常会出错(如果使用xcodebuild构建,则无法设置正确的SDK)。 – 2010-11-24 02:29:17

1

尝试打开Core Plot项目本身并首先构建框架。您应该构建(而不是“构建并运行”)CorePlot-CocoaTouch目标。针对SDK {模拟器,设备}和配置{调试,发布}(共四个版本)的每个组合执行此操作。这将创建您需要的.a文件。

Core Plot构建完成后,返回到您的项目并构建它。它现在应该链接并正确运行。

0

如果你不想使用CorePlot-CocoaTouch.xcodeproj导入方法(不需要导入整个项目,只需要导入CorePlotHeader文件夹和libCorePlot-CocoaTouch.a库文件)Fix linker errors for Core Plot when using Xcode 5

最终,您可能需要通过右键单击Products文件夹中的MyApp.app文件来删除旧库,然后将新CorePlot_1.4.a文件复制并过滤到Debug-iphoneos文件夹中。clean ,构建,它应该在iOS 7设备上运行。