"_OBJC_CLASS_$_XXX", referenced from:
我的問題出現是我直接在專案中右鍵新增了一個資料夾。把其中一些檔案直接拖入這個資料夾,提交到了伺服器。
但是當我從伺服器down下來的時候,開啟工程發現,報紅,找不到檔案。但是專案執行沒問題。
於是我在Finder重新找到報紅檔案,把它copy出來,從外部拖入新增。
再次執行,就出現了上面的問題。
問題1:.m檔案沒有匯入
在Build Phases裡的Compile Sources 中新增報錯的檔案
點選左下角的+號,直接搜尋.m檔案,逐個新增進去
再次執行,就沒有問題了
問題2:.framework檔案沒有匯入
靜態庫編譯時往往需要一些庫的支援,檢視你是否有沒有匯入的庫檔案
同樣是在Build Phases裡的Link Binary With Libraries中新增
點選左下角的+號,檢視有沒有遺漏的
問題3:重複編譯
可能你之前複製過兩個地方,在這裡新增過兩次,刪除時系統沒有預設刪除編譯引用地址
在Build Settings裡搜尋Search Paths 將裡面Library Search Paths 中沒有用到的地址刪除
問題4:出在靜態庫生成上面
系統編譯生成的靜態庫有兩個,一個真機呼叫的,一個模擬器呼叫的。
當你在真機測試時匯入模擬器靜態庫,執行就會報錯;同樣在模擬器測試時呼叫真機靜態庫也會報錯。
解決這一問題也很簡單,就是將兩個靜態庫合併,生成一個相容的靜態庫。
通過Show in finder 找到兩個靜態庫檔案,將兩個檔案複製到一個資料夾裡,當然要進行重新命名啦,否則就覆蓋了。
下面開啟終端,CD到存放兩個檔案的資料夾。
通過lipo[空格]-create[空格] [真機靜態庫檔名][空格] [模擬器靜態庫檔名][空格]-output[空格] [合併後的檔名]
再把這個生成的檔案匯入你的工程就可以了。
注:問題3和問題4的出現,我目前還沒有遇到過。
相關文章
- _OBJC_CLASS_$_某檔名", referenced from:的問題OBJ
- The type XXX cannot be resolved.It is indirectly referenced from required .classUI
- It is indirectly referenced from required .class fileUI
- "_dns_free_resource_record", referenced from:問題DNS
- 問題解決local variable 'xxx' referenced before assignment
- Python的UnboundLocalError: local variable 'xxx' referenced before assignmentPythonError
- 當執行import vue from ‘vue‘ 或其它import xxx from ‘xxx‘ 時發生了什麼?ImportVue
- 開發中遇到的bug-Property or method “xxxx“ is not defined on the instance but referenced during render.
- Non-static method 'save(java.long.Object)' cannot be referenced from a static context.JavaObjectContext
- EXT2-fs (dm-1): error: ext2_lookup deleted inode referenced 23422324XXXXErrordelete
- The entity "nbsp" was referenced, but not declared
- duplicate symbol _OBJC_CLASS_$_TWTableViewController inSymbolOBJViewController
- Program Units and Referenced Objects (244)Object
- Session State and Referenced Packages (246)SessionPackage
- Error querying database. XXXXXXXXXXXXX, No database selected。ErrorDatabase
- 【問題解決】java.sql.SQLException: null, message from server: “Host ‘xxx.xx.xx.xxx‘ is blocked because ofJavaSQLExceptionNullServerBloC
- Error building Player: Win32Exception: ApplicationName=‘xxxxxxxxxxxxxxxxxx//sdk\tools\zipalign.exe' ...ErrorUIWin32ExceptionAPP
- Internal Error with background job scheduling XXXXXXXXXXXXX.Error
- TypeError: Cannot read private member xxx from an object whose class did not declare itErrorObject
- // @require file://C:xxxxxxxxx.jsUIJS
- mysql Incorrect key file for table ‘/xxxxxxxx/xxxx.MYI'; try to repair itMySqlAI
- 解決OBJC_CLASS_$_MBProgressHUD無法引用的問題OBJ
- undefine macro xxxxxMac
- Spring:錯誤No bean named 'xxxxxxx' availableSpringBeanAI
- (徵文模板參考)xx技能樹/職業路線評測-xxxxxxxx
- restore controlfile from '/xxx/o1_xx_.bkp'後會引起'/xxx/o1_xx_.bkp'之後的備份全部無效REST
- Linux下編譯國標GB28181視訊推流元件EasyGBD報錯undefined reference to `xxxxxxxx@GLIBC_xxxxx‘解決Linux編譯元件Undefined
- Maven專案報錯:No bean named 'xxxxxx' availableMavenBeanAI
- [Linux] mutt /xxxx/xxxx/sent is not a mailbox.LinuxAI
- C++ vector<std::tuple<XXX, XXX, XXX>>C++
- 【Python】UnboundLocalError: local variable 'l' referenced before assignmentPythonError
- could not connect to redis Instance at xxx.xxx.xxx.xxx:6379Redis
- 報錯xxxx of undefinedUndefined
- Action Script for resource 'ora.xxxx.xxxx2.inst' stdout redirection failed forAI
- 表結構遷移檔案Identifier name 'xxxxxx' is too long解決IDE
- Struts2中there is no action mapped for acion name (/XXXXX)APP
- a commponent required a bean of type XXXXXX that could not be found-2022新專案UIBean
- CentOS 報錯 java.net.UnknownHostException: xxxxxx: 未知的名稱或服務CentOSJavaException