2011-04-04 36 views
12

我在添加MapKit和CoreLocation框架後構建應用程序時遇到問題。他們都是4.3的框架,並且這個應用程序用於和UIKit,CoreGraphics和Foundation一起工作,只是給了我兩個問題。不確定所需的體系結構是什麼,代碼中沒有任何錯誤。任何幫助表示讚賞!在文件中缺少所需的體系結構i386

ld: warning: ignoring file /Users/F3d3r3r/Desktop/testNav4_3/MapKit.framework/MapKit, missing required architecture i386 in file 

ld: warning: ignoring file /Users/F3d3r3r/Desktop/testNav4_3/CoreLocation.framework/CoreLocation, missing required architecture i386 in file 

Undefined symbols for architecture i386: 
    "_CLLocationCoordinate2DMake", referenced from: 
     -[Layer2 tableView:cellForRowAtIndexPath:] in Layer2.o 
    "_OBJC_CLASS_$_MKMapView", referenced from: 
     objc-class-ref in Layer2.o 
ld: symbol(s) not found for architecture i386 
collect2: ld returned 1 exit status 
+1

可能重複的 - 缺少所需的體系結構i386在文件](http://stackoverflow.com/questions/1456185/build-error-missing-required-architecture-i386-in-file) – 2011-04-04 22:22:07

+1

這是比我的建議更有用。 – Rayfleck 2011-04-04 22:37:14

回答

45

添加具有CLLocation的CoreLocation框架以及MapKit。

+2

我已經添加了CoreLocation和MapKit。 – F3d3r3r 2011-04-04 22:25:58

+0

@ F3d3r3r我也必須添加MapKit :) – ademar111190 2012-10-23 19:54:51

7

我得到了同樣的問題..一個長期的鬥爭,我發現這個問題..

我解決了這種方式以後。

  1. 轉到構建設置
  2. 搜索「框架搜索路徑'
  3. 並刪除預先填充的路徑。

現在它完美地..希望這有助於有人..

+1

什麼是「預填充路徑」 – shim 2013-10-18 03:29:47

+0

@shim嘗試$(PROJECT_DIR)/ Jeremie 2015-08-20 13:51:15

1

要小心,如果你從Finder中複製框架到項目中。確保這件事;當您將其添加到您的項目時,「複製文件...」選項不會被選中。

檢查項目的根文件夾以及是否複製了它。刪除它並嘗試從頭開始添加。

強烈建議您從「構建階段」添加Xcode的「與庫鏈接二進制文件」部分。

+0

LTTP,但這應該是正確的答案。它可能是你複製了項目或其中的一部分,包含庫和這個搞砸了xCode。對於任何人來這個線程,我會先嚐試這個。 – Jeremie 2015-08-20 13:59:59

相關問題