簡體   English   中英

如何將Picasa API集成到我的iPhone應用程序中?

[英]How can I integrate the Picasa API into my iPhone application?

我試圖在iphone上集成Picasa API,編譯得很好,但我發現啟動時出現以下錯誤。

dyld:未加載庫:@loader_path /../ Frameworks / GData.framework / Versions / A / GData參考自:/ Users / jacksu / Library / Application Support / iPhone Simulator / User / Applications / 9A7E3F54-022F-4771-BD6A -E458F5545144 / PicasaTest.app / PicasaTest原因:找不到圖像

我不確定可能是什么問題。

我從Source / build / Debug / GData.framework導入了GDataFramework。 我在Source目錄下構建了該項目。

IPhone不允許加載動態庫。 您正在使用的外部庫/框架必須構建為靜態庫,並在構建期間編譯到您的應用程序中。

為了首先實現這一點,您需要創建GDATA的靜態庫版本:

  • 將新目標添加到GData項目(例如GDataIPhoneLibrary)

    • 您可以通過右鍵單擊“目標”並選擇“添加新目標”來執行此操作。 在對話框中,從IPhoneOS - Cocoa Touch部分選擇靜態庫模板。
  • 然后,您需要將源.m文件拖到目標的Compile Sources部分。 (確保不要拖動.h文件,否則會收到警告。)此外,如果您只是為Picasa構建,那么命令和照片組下的文件就足夠了。 另外,不要添加單元測試和測試工具組。

  • 接下來轉到項目下的Frameworks and Libraries組,並添加Foundation框架,這是Cocoa Touch的必要框架。 當您添加此項時,請確保僅檢查新創建的目標以供使用。 (你不想弄亂Mac版的GData)

  • 現在在目標下,選擇您創建的GDataIPhoneLibrary並單擊(i)按鈕(或只需雙擊它)

  • 在“構建”選項卡下搜索“標題”,找到“標題搜索路徑”后,添加以下內容(對於libxml2)作為標題路徑

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

  • 現在關閉對話框。

  • 選擇您的Active Target為GDataIPhoneLibrary

  • 將ActiveSDK設置為Project-> SetActiveSDK - > Simulator - IPhone OS 2.1

  • 現在你准備好了 - >只需點擊構建,你將擁有默認的libGDataIPhoneLibrary.a文件。

現在您可以將此靜態庫添加到您的IPhone應用程序:

  • 轉到您自己的應用程序項目並選擇目標(您可能有一個)並雙擊它以打開對話框。

  • 在“構建”選項卡中搜索“庫”,找到“庫搜索路徑”后,添加剛剛在上一步中構建的庫的路徑。

  • 然后將“-lGDataIPhoneLibrary”(省略lib前綴和.a擴展名)添加到“Other Linker Flags”選項(您可以通過在搜索框中搜索鏈接器找到該選項)。

現在這應該有希望建立起來。 希望這對你有用。

干杯,凱雷姆

如果你保留GData.framework,那么你需要確保它不是一個必需的框架,而是一個弱框架。 弱框架意味着,應用程序在首次啟動時不需要它,並且僅在引用對框架的函數調用時嘗試加載它,但在您的情況下,因為庫是靜態編譯的函數,所以調用的函數將在不需要的情況下解析加載框架。 (注意目標C消息是運行時的函數調用...)

為此,請嘗試以下方法:

  • 雙擊您的應用程序目標(如前所述)

  • 這次查看“常規”選項卡

  • 找到GData.framework並將其從“Required”更改為“Weak”

您可能在不添加框架的情況下收到編譯錯誤,因為GDATA頭文件未被解析。 您也可以在“標題搜索路徑”中添加“頭文件”鏈接,而不需要添加框架。

與上述無關,我之前忘了一件事。 將-ObjC添加到“其他鏈接器標志”。

你不能在iPhone上使用動態庫(當然,在Apple的框架之外)。 所有庫必須靜態鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM