2010-03-05 13 views
4

我正在iphone應用程序(sdk 3.1.3),我已經添加了corelocation和mapkit框架。我使用了iphonesimulator軟件包,但使用'相對於當前的sdk'添加它們。當我測試我的應用程序在iPhone simulatore一切正常。但是,當我切換到iPhone設備3.1.3我越來越2個警告和4個生成錯誤:iPhone模擬器與iPhone操作系統測試:文件不是必需的架構

警告:

.../corelocation文件不是必需的體系結構
.../mapkit文件是不需要架構

錯誤:

"_OBJC_CLASS_$_MKReverseGeocoder", referenced from:<br /> 
[email protected] in VMLViewController.o<br /> 
"_OBJC_CLASS_$_MKPinAnnotationView", referenced from:<br /> 
[email protected] in VMLViewController.o<br /> 
"_OBJC_CLASS_$_CLLocationManager", referenced from:<br /> 
[email protected] in VMLViewController.o<br /> 
"_kCLLocationAccuracyBest", referenced from:<br /> 
_kCLLocationAccuracyBest$non_lazy_ptr in VMLViewController.o<br /> 
ld: symbol(s) not found<br /> 

collect2: ld returned 1 exit status<br /> 
Build failed (4 errors, 2 warnings)<br /> 

我在mapkit框架包右鍵單擊,檢查獲取信息的d的路徑設置爲:System/Library/Frameworks/MapKit.framework

我有基本的iPhone開發知識,但我不知道什麼問題是...任何人都可以幫我嗎?

映入眼簾,

托馬斯

回答

0

在這種獲取信息的窗口,查看MapKit.framework包的「完整路徑」,然後在終端窗口中使用「文件」命令來驗證什麼架構圖書館是。應該看到類似:

file /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.2.sdk/System/Library/Frameworks/MapKit.framework/MapKit 
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.2.sdk/System/Library/Frameworks/MapKit.framework/MapKit: Mach-O universal binary with 2 architectures 
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.2.sdk/System/Library/Frameworks/MapKit.framework/MapKit (for architecture armv6): Mach-O dynamically linked shared library arm 
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.2.sdk/System/Library/Frameworks/MapKit.framework/MapKit (for architecture armv7): Mach-O dynamically linked shared library arm 
+0

感謝您的快速回復,這是完整路徑 /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.2.sdk/System/Library/Frameworks/MapKit.framework 在終端上,後(12)cpusubtype(6)):\t Mach-O動態鏈接共享庫部分 (用於體系結構cputype(12)cpusubtype (9)):\t Mach-O動態鏈接共享庫部分 –

+0

我相信cputype(12)是arm,所以看起來是正確的。不知道除了通常的刪除/重新添加違規框架等巫術之外還有什麼其他建議。 –

16

我也有同樣的問題,我已通過添加CoreLocation.framework框架文件夾內解決它。

+1

這解決了它對我來說,所以我認爲你的答案應該被標記爲答案。 – Danny

+0

同意......這也爲我解決了。如果您的目標是非iOS 6.x,可以將其設置爲「可選」 – Buzzrick

0

轉到目標 - >構建階段 - >添加CoreLocation框架。