總結個人開發過程中遇到的問題,持續更新:
1、官網的speakhere複製拷貝到自己的項目,提示CADebugPrintf.h file not found:
select the Target, open the Build Settings pane, search for "Preprocessor Macros". Leave the fields blank (I've got rid of a DEBUG entry),就是把Preprocessor Macros參數的值清空即可;(記得添加AudioToolBox.framework)
2、CAStreamBasicDescription.h unknown type name class
speakhere複製到自己項目時,會出現很多檔案提示以上錯誤,原因是oc中引用了c++檔案,將引用c++檔案的.m檔案改成.mm,然後再在另一個.h檔案引用.mm的類,注意此時使用@class name, 不要使用#import"name"
3、使用Xcode 4時, 檔案已經刪除,但是會出現missing file錯誤,這一般是SVN或git造成的,有幾種方法可以刪除:
方法1:大量刪除的一個方法,刪除.svn檔案:
在終端中輸入cd (有空格),將專案檔夾拖進入,斷行符號
輸入命令列:
rm -rf find . -type d -name .svn
再斷行符號
方法2:刪除隱藏的.svn檔案
命令列運行 defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder
開啟顯示隱藏檔案,然後到工程目錄下刪除.svn檔案,然後再恢複 defaults write com.apple.finder AppleShowAllFiles FALSE
killall Finder
4、obstructing is blocking item under version control
It was svn issue. after a clean up and update on build folder, I could delete the build folder and add set it to ignore.
Did you use TouchXML from a svn repository? You may check for any ".xxxx" folders.
// Update: I meant running svn cleanup and svn update commands.
5、指定同一個應用中的view不同旋轉方向,在每個view中重載:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationMaskLandscapeLeft);
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscapeRight;
}
-(BOOL)shouldAutorotate
{
return YES;
}
iOS5、6通吃。
6、善用“=”:
開發中經常遇到要將一個變數的值付給另一個變數,最慣用的方法則是a.value=b.value,這時其實是將b.value的地址直接付給了a.value,這樣產生的效果則是:如果a.value的值發生改變,則b.value也會改變。可以使用a.value=[b.value mutableCopy], copy同樣不可以,copy達到的效果與直接賦值一樣
7、XCode 的CopyPNGFile Error (找不到圖片或目錄)
1.點擊工程的TARGETS
2.點擊Build Phases
3.點擊Copy Bundle Resources
4.看裡面的資源有什麼是紅色顯示的,然後選中它,最底下有刪除的按鈕。刪掉就好了 或者用ps開啟檔案另存新檔無交錯的