如何将Picasa API集成到我的iPhone应用程序中?

问题描述:

我试图在iPhone上集成Picasa API,编译正常,但在启动时看到以下错误。如何将Picasa API集成到我的iPhone应用程序中?

使dyld:库未加载:@loader_path /../框架/ GData.framework /版本/ A /的GData 引用自:/用户/ jacksu /库/应用程序支持/ iPhone模拟器/用户/应用/ 9A7E3F54- 022F-4771-BD6A-E458F5545144/PicasaTest.app/PicasaTest 原因是:image not found

我不确定可能是什么问题。

我从Source/build/Debug/GData.framework导入了GDataFramework。我在Source目录下建立了这个项目。

如果保持GData.framework,那么你需要确保它不是必需的框架,而是一个薄弱的框架。一薄弱的框架手段,应用程序在第一次启动时不会需要它,只是在引用对框架的函数调用时尝试加载它,但在您的情况下,因为库是静态编译的,所以调用的函数将被解析而无需加载框架。 (注意:目标C消息是在运行时函数调用...)

要做到这一点尝试以下:

  • 双击应用目标(如前)

  • 看一般标签此时

  • 找到GData.framework,它从“需要”到“弱”

改变0

你可能会收到编译错误不添加框架,因为GDATA头文件不被解决。你可以有也把一个链接到“头文件搜索路径”比你并不需要在所有添加框架“头文件”。

无关的上面,我忘了一件事以前。将-ObjC添加到“其他链接器标志”。

+0

嗨,当我编译“的GData”项目它会显示错误和许多文件丢失。请你能建议吗? – 2015-10-23 08:01:49

你不能在iPhone上使用动态库(当然,除了Apple框架之外)。所有库必须静态链接。

iPhone不允许加载动态库。您正在使用的外部库/框架必须构建为静态库,并在构建期间编译到您的应用程序中。

为了做到这一点,首先您需要创建GDATA的静态库版本:

  • 添加一个新的目标于GData项目(比如GDataIPhoneLibrary)

    • 你这样做通过右键单击目标并选择“添加新目标”。在对话框中,从IPhoneOS - Cocoa Touch部分选择静态库模板。
  • 然后,您需要将源.m文件拖到目标的“编译源”部分。 (确保不要拖动.h文件,否则会收到警告。)另外,如果您只是为Picasa构建,则命令和照片组下的文件应该足够。也不要添加单元测试和测试工具组。

  • 接下来转到项目下的框架和库组,然后添加基础框架,这是Cocoa Touch的必要框架。当你添加这个时,确保只检查你新创建的目标是否被使用。 (你不想弄糟的GData的Mac版)

  • 现在的目标下,选择GDataIPhoneLibrary创建并单击按钮(i)(或只需双击它)

  • 在Build标签搜索找到“头搜索路径”为“头”,一旦你添加以下(为libxml2的)作为头路

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/ iPhoneOS2.1.sdk/usr/include/libxml2

  • 现在您关闭对话框。

  • 选择您的活动目标是GDataIPhoneLibrary

  • 设置你的ActiveSDK到工程 - > SetActiveSDK - >模拟器 - IPhone OS 2。1

  • 现在,你准备好了 - >刚击筑,你将有默认的libGDataIPhoneLibrary.a文件。

现在可以将这个静态库添加到您的IPhone应用程序:

  • 转到自己的应用项目,并选择目标(你可能有一个),并双击它打开对话框。

  • 在Build标签搜索“库”,一旦找到“库搜索路径”路径添加到您刚才建在上一步中的库。

  • 然后添加“-lGDataIPhoneLibrary”(省略的lib前缀和.A扩展名)“其他链接器标记”选项(您可以通过在搜索框中搜索链接找到。

现在这应该有希望建设。希望这对你的作品。

干杯, 凯雷姆