2011年11月6日
今天碰到一個簡單的需求,有一批png圖像文件,圖像名字均為xxx@2x.png,其中xxx是可變部分。現在需要將所有xxx@2x.png圖像改名為xxx.png,且尺寸變為原來的50%。這就涉及到兩個問題,第一:批量改名,第二:批量處理文件。
解決如下:
1)批量改名:for var in *.png; do mv "$var" "${var%@2x.png}.png"; done
2)批量修改圖像:for png in *.png; do convert $png -resize 50% $png
其中的批量修改圖像中使用到了一個convert命令,這個命令是命令行圖像處理工具ImageMagick的一個子命令。關于ImageMagick我之前的隨筆中也有提到,感興趣的童鞋可以參考一下。
2011年10月29日
1)首先查看/usr/bin目錄下是否存在codesign_allocate程序,如果存在,執行改名操作。 如果不存在,直接執行第二步
sudo mv /usr/bin/codesign_allocate /usr/bin/codesign_allocate_old
2)將xcode目錄下的codesign做一個軟鏈接
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate /usr/bin
解決!
遇到此種情況,請查看info.plist文件中的UIRequiredDeviceCapabilities段,確保該段下指定的設備能力都能夠被使用的設備所支持。
本人遇到這個錯誤,是因為我的應用程序需要magnetometer能力,我在使用iPhone的時候是沒有問題的,但是使用iPod Touch的時候就出現問題了,很顯然iPod Touch沒有磁傳感器。
2011年9月27日
iPhone通過UIImagePickerController來啟動相機。可以設置必要的參數,通過設置allowEditin
g屬性,可以在照片拍攝完成以后做簡單的平移編輯功能,從而獲取編輯之后的照片。
在didFinishPickingMediaWithInfo回調方法中,可以獲取兩種規格的圖像,分別是原始圖像和編輯后的圖像(要獲取編輯后的圖像需要設置allowEditing為YES)。
原始圖像通過[info objectForKey:UIImagePickerControllerOriginalImage]取得,在iPhone4上獲取的尺寸大小為1936x2592。
編輯后的圖像通過[info objectForKey:UIImagePickerControllerEditedImage]取得,在iPhone4上獲取的尺寸大小為640x640。
如果我們需要做簡單的圖像處理工作,最好是取得編輯后的圖像,尺寸小,圖像質量損失也很小,可以快速處理。
2011年9月23日
曾經有一段使用ubuntu的經歷,在使用ubuntu的過程中apt-get是一個及其重要的工具,負>責了幾乎所有軟件的安裝、卸載、更新工作。使用簡單但功能強大。如果使用Mac OS,開啟
終端之后,發現一些好用的命令行工具都沒有,比如wget或unrar,這很郁悶。google一番>知道使用brew是apt-get的一個替代品。
安裝:
curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1
使用:
1. 安裝wget
brew install wget
2. 安裝unrar
brew install unrar
3. 卸載wget
brew uninstall wget
4. 檢索軟件
brew search wget
一切又美好了.
2011年9月20日
@import url(/css/cuteeditor.css);
公司新買了mac mini,由于是新版本的mac mini,里面預裝的是mac os Lion,也就是mac os 10.7,之前的xcode 3.2.5版本總是裝不上,仔細查看安裝選項才發現xcode toolset無法被勾選上,sdk可以安裝,但是xcode app套件安裝不了,但是下載一個xcode 4需要頗廢一番功夫。更何況項目之前的代碼已經一致都用xcode 3.2.5,而且另外一個同事的mac mini也是老版本的。
解決方法如下:
1. 加載xcode 3.2.5的dmg文件
2. 在dmg文件上右鍵,打開終端
3. 在終端中輸入以下命令:
export COMMAND_LINE_INSTALL=1
open "Volumes/Xcode and iOS SDK/Xcode and iOS SDK.mpkg"
搞定!
2011年9月14日
錯誤:modifying layer that is being finalized
原因:對于同一個UIView對象,重復進行release操作就會導致該錯誤發生。
解決方案一:檢查代碼,確保相應的view對象只被釋放一次。
解決方案二:使用removeFromSuperView代替release。
2011年9月8日
cd <root of svn>
svn cleanup
2011年8月24日
摘要: 在iPhone應用程序開發過程中,對于TextField控件,當其獲得輸入焦點時,軟鍵盤會自動彈出,用戶可以進行輸入。但是當TextField控件處于屏幕的底部時,彈出的軟鍵盤會遮擋住TextField控件,這樣就不能看到當前輸入的內容了。解決方法是使用UIView切換動畫的方式,在垂直方向上做一個偏移即可。 閱讀全文
2011年8月22日
如果編譯BClass的時候出現下面的錯誤:
expected specifier-qualifier-list before ‘AClass’
當出現這種錯誤的時候說明AClass沒有被import,如果已經import這個類了,說明AClass和BClass 之間有Circle引用。
也就是說AClass import BClass,BClass import了 AClass。
解決的辦法是:
在AClass.h中用@Class BClass;,然后在AClass.m中#import "BClass.h"。