[英]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)
然后,您需要將源.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.