OC Xcode中常見的錯誤


在開發的過程中難免會遇到很多的錯誤,可是當看到系統給出的英文時,又不知道是什么意思。所以這篇文章總結了Xcode中常見的一些英文單詞及詞組,可以幫助初學的人快速了解給出的提示。多練習,就肯定能基本掌握。

expression:表達式

assignable:賦值
variable:變量+
redefinition:重復定義
type:類型
conflicting:沖突項
invalid:無效的
conversion:轉換
specifier:說明符
indent:縮進
operands:運算對象、操作數
binary:二進制
expected:期望
logical:邏輯
const :常量
constant:常量
statements:語句
initialization:初始化
condition:條件
increment:增量
index:索引、下標
abbrev:簡寫、縮寫
alias:別名,化名
modified:修改/改進的
parameter:參數
implicit:隱含的
undo:取消
redo:重做
cancel:取消
octal:八進制的
incompatible:不匹配的
duplicate:重復
action:行為
instance:實例
modify:修改
general:普通的   in general:大體,一般來說
subclass:子類
superclass:父類
inherit:繼承
contents:內容
primitive:原始的
modify:修改
ordered:有序的
collection:集合
dynamic:動態的
querying:查詢
deriving:派生
description:描述,描寫
collection:集合
programmatic:編程的
a set of:一系列、一組
overview :概述
related 相關的
declared in:聲明在...(文件里)
availability:可用的
framework:框架、類庫
Conforms to:服從....協議
Conforms :服從
dynamic:動態
term:條目
exact:確切的
membership:成員
entry:條目
consists of:由...組成
unique:獨特的、唯一的
determined:決定
conform to:服從,遵照
protocol:協議
distinct:不同的、獨特的
addition:添加、增加
literals:字面量
denote:表示,指示
category:類目、分類
concrete:具體的
decouples:解耦
KVC:Key-Value Coding:鍵值對編碼

Getting Numeric Values:獲得一個數值
Identifying and Comparing Strings:識別和比較字符串
Replacing Substrings:替換子串
Finding Characters and Substrings:查找字符和子串
Dividing Strings:分割字符串
Combining Strings:拼接字符串
Getting C Strings:得到c語言的字符串
Getting Characters and Bytes:獲取字符或字節
Getting a String’s Length:得到字符串的長度
Writing to a File or URL:把內容寫到一個文件或者URL里
Creating and Initializing a String from a File:從文件里創建並初始化一個字符串
Deprecated:棄用
Creating and Initializing Strings:創建初始化字符串
tasks:功能
Adopted Protocols:采用的/服從的協議 

 

 

 

 

 

1: local declaration “XXX”hide instance variable

reason:一般是你函數里面定義的變量和class屬性變量重名了。很少有和系統變量重名的情況。 這樣的情況,修改一下變量的名字就好。

 

 

2、Undefined symbols for architecture x86_64:

 可能由於某些類庫不支持64位Architecture造成,

 可以在項目Build Setting=》Architecture設為非64位的選項

 

3、編譯warning:ld: warning: directory not foundfor option

 

 選擇工程, 編譯的 (targets)

 選擇 Build Settings 菜單

 查找 Library Search Paths 和 Framework Search Paths刪掉編譯報warning的路徑即OK

 

4、Undefined symbols for architecture armv7s: “_OBJC_CLASS_$_SZAdWebViewDelegate”, referenced from:xxxx

 查找了半天,總以為缺少某個文件,后對比正常的sample發現問題出在armv7s,這是針對iPhone5 cpu優化的編譯,可能你某個庫不支持,解決方法是:

 Build Setting->Build Active Architecture only 的值由NO設為YES,查了一下這個選項的資料:

 

 這個屬性設置為yes,是為了debug的時候編譯速度更快,它只編譯當前的architecture版本。

 而設置為no時,會編譯所有的版本。

 這個是設備對應的architecture

 armv6:iPhone 2G/3G,iPod1G/2G

 armv7:iPhone 3GS/4/4s,iPod3G/4G,iPad1G/2G/3G

 armv7s:iPhone5, iPod5

 編譯出的版本是向下兼容的(不太對,應該說,設備是向下兼容的),比如你設置此值為yes,用iphone4編譯出來的是armv7版本的,iphone5也可以運行,但是armv6的設備就不能運行。

 所以,一般debug的時候可以選擇設置為yes,release的時候要改為no,以適應不同設備。

 

5、Xcode “Attaching to…” 卡住,模擬器停留在啟動界面

 網上有很多方法,什么Clean Build Folder,和各種刪除,但有一個點是優先要考慮的,就是host沒有修改過,修復如下:

 

 

 

 

 

1、error: macro names must be identifiers YourProject_prefix.pch

原因: 因為你弄臟了預處理器宏,在它處於<Multiple Values>的時候修改了它

解決方法: Configiration選擇All Configirations,清空它 然后分別重新定義你的Debug,Release,Distributin預處理器宏吧

2、warning: no rule to process file '$(PROJECT_DIR)/LoadingView.h' of type sourcecode.c.h for architecture armv6

原因: Target里Compile Sources里含有頭文件 了,那里面不需要頭文件

解決方法: 從Target里Compile Sources里刪除頭文件

3、Command /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS Build System Support.xcplugin/Contents/Resources/copypng failed with exit code 1

原因: png圖像文件拷貝失敗,看看信息上面提示Can't find哪個文件,一般都是從文件系統里刪除文件而沒有通過Xcode刪除造成的,Xcode的項目配置文件依然紀錄着這個文件的引用

解決辦法: 給文件系統里增加相應的文件,或者從Xcode的Groups & Files刪除它,或者從Target的Copy Bundle Resources里刪除它

4、Code Sign error: The identity 'iPhone Developer: Your Name' doesn't match any valid certificate/private key pair in the default keychain

原因: 簽名錯誤

解決辦法: Target -> Get Info -> Build -> Code Signing -> 修改簽名

記得左上角的Configuration類型要跟當前Build類型對應(Debug, Release, Distribution),否則改了也白改

5、could not create bundle folder for versioned model *.moda(好像是這個后綴名的這個文件)

原因:編譯一次會產生一個新的

解決辦法:應該把編譯產生出來的moda文件都刪了,然后clean下工程,重新build即可

6、error:There are no valid certificate/private key pairs in the default keychain

7、error:Cannot assign to 'self' outside of a method in the init family

原因:只能在init方法中給self賦值,Xcode判斷是否為init方法規則:方法返回id,並且名字以init     +大寫字母開頭+其他  為准則。例如:- (id) initWithXXX;

出錯代碼:- (id) Myinit{

 self = [super init];

 ……

}

解決方法:- (id) initWithMy

{

 self = [super init];

}

 

 

 

 

 

 

1, iOS真機調試時,報錯:failed to get the task for process 20900

原因:

證書問題,project和targets的證書都必須是開發證書,ADHOC的證書會出現此問題。

解決方案:

    project和targets的證書使用開發證書。

2,當 一個socket正在連接,這時又一個新的socket建立鏈接,會拋出錯誤 “ Attempting to connect while connected or accepting connections. Disconnect first.”。

原因:

第一個socket還沒返回isConnected  為YES,   就建立第二個socket連接。

解決方案:

AsyncSocket有個屬性叫isDisconnected,但接口並未開放,將- (BOOL)isDisconnected;
加入到AsyncSocket.h中。
然后在連接處:
if(![_sendSocket isDisconnected])

    {

        [_sendSocket disconnect];

    }

3,tcp socket willDisconnectWithError:Error Domain=NSPOSIXErrorDomain Code=65

 "The operation couldn’t be completed. No route to host"

        No route to host (socket error ::10065) 

       產生此問題的原因:網絡連接不上此服務器。

       解決:查看ip是否正確,查看調試設備網絡連接是否正常。

4,報錯:CALayer bounds contains NaN:

繪圖時,某個長寬值中包含除數為0的操作。

 

5,報錯:libxml/tree.h not found

      解決方案:

      步驟1:

      工程-->PROJECT-->Build Settings

      將“Header Search Paths”的值設置為<${SDK_DIR}/usr/include/libxml2>即可。

      步驟2:

      工程-->TARGETS-->Build Settings

      將“Header Search Paths”的值設置為<${SDK_DIR}/usr/include/libxml2>即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM