嗨,我翻譯了一本書,在這裡打打廣告。
書名:iOS 6 SDK核心範例精研
原書名:The Core iOS 6 Developer's Cookbook, Fourth Edition
作者:Erica Sadun
譯者:我
出版社:悅知
出版日期:2013年5月16日
頁數:592
此次改版,作者Erica與出版社將原書拆解成三本書。
導論、介紹Objective-C、介紹Xcode、App如何上架、UIKit的基本功夫(視圖、控制器、基本視覺元件),大致上就是前一版(iOS 5那本)的第1~7章,獨立出來放在Learning iOS Development: A Hands-on Guide to the Fundamentals of iOS Programming裡,預計在2013年8月出版,約600頁。
而The Core iOS 6 Developer's Cookbook這本,更新到iOS 6與Xcode 4.6,並且拿掉一些最基本的入門內容,省下一些篇幅,讀者也省下一些錢。內容包含觸碰與手勢、自訂控制元件、各種UIKit元件、警示視圖、視圖與動畫過場效果、視圖約束規則(iOS 6新功能)、文字輸入、常用控制器(挑選照片、傳送電子郵件、社群網站狀態更新、等等)、表格視圖、群集視圖(iOS 6新功能)、捲動、畫面編排、等等iOS開發的核心知識,以及初階介紹Core Data與網路連線,所有的API都按照iOS 6 SDK加以更新,約570頁。我翻譯的是這本原文書。
目錄
第1章 手勢與觸控
第2章 建立與使用控制項
第3章 警示使用者
第4章 視圖與動畫效果
第5章 視圖約束規則
第6章 文字輸入
第7章 視圖控制器
第8章 常用控制器
第9章 無障礙存取
第10章 建立與管理表格視圖
第11章 群集視圖
第12章 初嚐Core Data
第13章 網路基本知識
附錄A Objective-C字面值
進階內容則放在The Advanced iOS 6 Developer's Cookbook裡,於2013年3月出版,約530頁,內容包含Store Kit、Game Kit、Core Location、各種特殊用途的軟體開發框架。
關於其他學習Objective-C的iOS的資源,可以參考我寫的這篇。
Raise your cup, say cheers to the moon, look down on the ground, the shadow is also drinking with me. I'm not a lonely drinker.
2013/05/23
Pidora:開始支援Raspberry Pi的Fedora發行套件
在5月14日,Raspberry Pi基金會正式開賣相機模組,線上商店也重新開張,有T-shirt、杯子、絨毛熊、滑鼠墊、等等。
而5月22日,支援Raspberry Pi的發行套件Pidora 18終於現身囉,由Seneca Centre for Development of Open Technology (CDOT)開發。這是根據ARMv6架構重新建置Fedora的版本,充分運用Raspberry Pi的硬體能力,可使用Fedora 18的軟體套件,第一次開機時可使用圖形化組態設定畫面,另外還有無頭模式(headless mode),即便沒有螢幕鍵盤滑鼠也可進行初始設定,可從喇叭或LED閃爍得知IP位址,內含C/Python/Perl軟體開發環境,預設包含電子專案需要的程式庫與驅動程式,譬如馬達與機器人相關的GPIO、I2C、SPI,詳細情況請看5/22的釋出新聞稿與Pidora的維基百科。
若您不知道Fedora、Remix為何意的人請看這篇:Raspberry Pi相關詞彙。
目前Raspberry Pi基金會官方推薦使用的是Raspbian(raspberry + debian),顧名思義,這是以Debian為基礎特別為Raspberry Pi硬體打造的Linux發行套件,
在官方下載頁面裡列著Raspbian、RISC OS、Arch Linux ARM,預計將來也會放上Pidora的連結(2013/06/01更新:已經放上去了)。
順帶一提,Fedora對每個大版本取的名字頗為奇妙,17是Beefy Miracle(多肉多汁的奇蹟大熱狗),18是Spherical Cow(球狀牛),19是Schrödinger's Cat(薛丁格的貓),對舊版命名與緣由有興趣的人請看History of Fedora release names。
先到Pidora網站下載映像檔,得到pidora-18-r1c.zip(490 MB),解壓縮後得到pidora-18-r1c.img(1.66 GB),還有MD5驗證碼可檢查檔案內容是否無誤,然後燒錄到SD記憶卡裡。
第一次開機時有兩種初始設定模式,圖形化設定介面與無頭模式(沒有螢幕鍵盤滑鼠),先試試普通的圖形介面吧。
雖然我個人比較偏好一般文字型的設定介面,因為速度較快,但Pidora第一次開機時載入圖形化設定介面的速度也很快。
首先在左上角看到熟悉的水果(渣畫質,請見諒)。
哇,居然有動態旋轉的圖示。
咦,怎麼出現一個白色方框、還有滑鼠游標。
進入圖形設定介面囉。
設定鍵盤。
建立一般的使用者帳號密碼。
root的密碼。
設定日期時間,可利用NTP從網路上取得。
設定時區。
是否要擴增根檔案系統所在的分割區,用盡記憶卡的空間。
主機名稱,另外還可選Boot Type,開機後為Text文字模式還是Graphical圖形模式,我先選Text。
然後經過一段時間,就能看到登入提示訊息囉。在這個畫面停了滿久的時間,我還以為正在調整分割區,但其實按一下Enter後就會出現登入提示。
試著輸入startx進入X Window,哇哩咧,這什麼鬼。
被踢回終端機介面,看不懂的訊息,哇哩咧。試著安裝一些套件、到網路上搜尋解答,沒找到辦法。難道是因為我剛剛選了Text文字模式嗎?
重新燒錄一遍,這次選Graphical圖形模式,嗯,可成功進入X Window囉。大概有些設定需要更改,有高手不吝賜教嗎?
然後再重新燒錄一次,試試無頭模式,詳細步驟請參考官方說明文件,在燒錄映像檔完成後、在第一次開機前,先到SD記憶卡的第一個分割區(FAT32檔案系統)裡新增一個名為「headless」的檔案,無副檔名,若檔案內容為空白,代表你想要使用DHCP取得IP位址,或是自行指定,類似底下的樣子:
IPADDR=192.168.1.105
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
插入插槽,拔除螢幕鍵盤滑鼠,試著第一次開機吧。
2分鐘之後會透過喇叭念出IP位址,然後再經過30秒之後會閃爍OK/ACT LED表示IP位址,閃爍方式如下:
1到9次短閃爍,代表數字1到9,
10次短閃爍代表數字0,
長閃爍代表「.」,
每個數字間會有短暫的暫停。
哇,漏掉的話不就糟糕了。
知道IP位址後,就能以ssh登入,帳號root,密碼raspberrypi,登入後記得更改密碼。
嗯,又多了一個支援Raspberry Pi的Linux發行套件,玩玩看吧。
而5月22日,支援Raspberry Pi的發行套件Pidora 18終於現身囉,由Seneca Centre for Development of Open Technology (CDOT)開發。這是根據ARMv6架構重新建置Fedora的版本,充分運用Raspberry Pi的硬體能力,可使用Fedora 18的軟體套件,第一次開機時可使用圖形化組態設定畫面,另外還有無頭模式(headless mode),即便沒有螢幕鍵盤滑鼠也可進行初始設定,可從喇叭或LED閃爍得知IP位址,內含C/Python/Perl軟體開發環境,預設包含電子專案需要的程式庫與驅動程式,譬如馬達與機器人相關的GPIO、I2C、SPI,詳細情況請看5/22的釋出新聞稿與Pidora的維基百科。
若您不知道Fedora、Remix為何意的人請看這篇:Raspberry Pi相關詞彙。
目前Raspberry Pi基金會官方推薦使用的是Raspbian(raspberry + debian),顧名思義,這是以Debian為基礎特別為Raspberry Pi硬體打造的Linux發行套件,
在官方下載頁面裡列著Raspbian、RISC OS、Arch Linux ARM,預計將來也會放上Pidora的連結(2013/06/01更新:已經放上去了)。
順帶一提,Fedora對每個大版本取的名字頗為奇妙,17是Beefy Miracle(多肉多汁的奇蹟大熱狗),18是Spherical Cow(球狀牛),19是Schrödinger's Cat(薛丁格的貓),對舊版命名與緣由有興趣的人請看History of Fedora release names。
先到Pidora網站下載映像檔,得到pidora-18-r1c.zip(490 MB),解壓縮後得到pidora-18-r1c.img(1.66 GB),還有MD5驗證碼可檢查檔案內容是否無誤,然後燒錄到SD記憶卡裡。
第一次開機時有兩種初始設定模式,圖形化設定介面與無頭模式(沒有螢幕鍵盤滑鼠),先試試普通的圖形介面吧。
雖然我個人比較偏好一般文字型的設定介面,因為速度較快,但Pidora第一次開機時載入圖形化設定介面的速度也很快。
首先在左上角看到熟悉的水果(渣畫質,請見諒)。
哇,居然有動態旋轉的圖示。
咦,怎麼出現一個白色方框、還有滑鼠游標。
進入圖形設定介面囉。
設定鍵盤。
建立一般的使用者帳號密碼。
root的密碼。
設定日期時間,可利用NTP從網路上取得。
設定時區。
是否要擴增根檔案系統所在的分割區,用盡記憶卡的空間。
主機名稱,另外還可選Boot Type,開機後為Text文字模式還是Graphical圖形模式,我先選Text。
然後經過一段時間,就能看到登入提示訊息囉。在這個畫面停了滿久的時間,我還以為正在調整分割區,但其實按一下Enter後就會出現登入提示。
試著輸入startx進入X Window,哇哩咧,這什麼鬼。
被踢回終端機介面,看不懂的訊息,哇哩咧。試著安裝一些套件、到網路上搜尋解答,沒找到辦法。難道是因為我剛剛選了Text文字模式嗎?
重新燒錄一遍,這次選Graphical圖形模式,嗯,可成功進入X Window囉。大概有些設定需要更改,有高手不吝賜教嗎?
然後再重新燒錄一次,試試無頭模式,詳細步驟請參考官方說明文件,在燒錄映像檔完成後、在第一次開機前,先到SD記憶卡的第一個分割區(FAT32檔案系統)裡新增一個名為「headless」的檔案,無副檔名,若檔案內容為空白,代表你想要使用DHCP取得IP位址,或是自行指定,類似底下的樣子:
IPADDR=192.168.1.105
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
插入插槽,拔除螢幕鍵盤滑鼠,試著第一次開機吧。
2分鐘之後會透過喇叭念出IP位址,然後再經過30秒之後會閃爍OK/ACT LED表示IP位址,閃爍方式如下:
1到9次短閃爍,代表數字1到9,
10次短閃爍代表數字0,
長閃爍代表「.」,
每個數字間會有短暫的暫停。
哇,漏掉的話不就糟糕了。
知道IP位址後,就能以ssh登入,帳號root,密碼raspberrypi,登入後記得更改密碼。
嗯,又多了一個支援Raspberry Pi的Linux發行套件,玩玩看吧。
2013/05/20
Raspberry Pi相機模組開箱文
Raspberry Pi基金會於5月14日推出相機模組正式開賣,二話不說立刻下訂單,我上次到RS Components購買Model B,這次本來想試試看element14/Premier Farnell/e絡盟,購買相機模組沒問題,但我還想買一塊512MB記憶體的Model B,在點了一連串的網址連結後,卻被導引至某網站,無法一次購買兩項產品,所以放棄,最後回到RS Components下訂單。
我在5月14日中午時下訂單,寄來的購買確認郵件中寫著Raspberry Pi HD Video Camera module的價錢是US$25.49,以及Raspberry Pi Type B Single Board Computer 512MB的價錢是US$34.34,另外運費Standard Delivery是US$7.87,總共US$67.70,另外有一封付款確認郵件(應該是由PayPal負責金流)寫著,總計$67.70 USD,原始金額NT$2,092 TWD,匯率1 TWD = 0.0323613 USD。
然後在5月16日晚上,DHL(負責運送的公司)寄來出貨通知郵件。
最後在5月20日早上11:00,收到包裹囉,非常迅速。簽收時還是用數位觸控筆在一台機器上頭簽名,呵。
底下是這款相機模組的規格:
Omnivision 5647 sensor in a fixed-focus module(影像感測器)
5M Pixel sensor(500萬像素)
Still picture resolution: 2592 x 1944
Max video resolution: 1080p(720p或1080p的H.264錄影格式)
Max frame rate: 30fps
尺寸:20 x 25 x 10mm
這是寄來的包裹。
包裹背面。
打開後就是兩個小盒子,底下是Raspberry Pi Model B。
打開後的樣子。
底下是主角相機模組,用個紙盒裝著,被壓到了,有點不爽。
開箱!就是一個防靜電袋子,裡面就是相機模組與排線。相機模組對於靜電非常敏感,取出前先確保你身上沒有殘留靜電。
總長大約17公分。
這就是相機模組,正面。
相機模組,背面。
排線端,要插入Raspberry Pi的相機連接埠。
排線端的另一面。
Raspberry Pi的相機模組連接埠為CSI(Camera Serial Interface)介面,位於HDMI與RJ-45網路線連接埠之間。
接下來要將相機模組與Raspberry Pi板子連接起來,排線頗為細緻,需小心對待,不可強力折彎,官方釋出一段影片介紹如何連接,請務必看一遍。
這是連接埠原本的樣子。
小心地拉起塑膠卡榫,拉起高度只有一點點而已,請小心。
然後插入排線,請注意方向,並保持排線上的鍍金端成為平行狀態。然後壓下塑膠卡榫。
相機鏡頭有貼保護膜,請移除。
移除後的樣子,保護膜在旁邊。
完成囉!
以上便是硬體部分,接下來是軟體部分。我用的是Raspbian(2013-02-09-wheezy-raspbian.img),請先更新韌體與軟體:
$ sudo apt-get update
$ sudo apt-get upgrade
(我個人習慣使用dist-upgrade)
然後執行raspi-config:
$ sudo raspi-config
進入裡頭的「camera」項目,啟用相機模組,再重開機。
接下來,便能使用一些準備好的程式與指令拍攝靜態照片與錄製動態影片。
注意:底下的照片是我用很基本的指令與參數所拍攝的,所以不是最佳狀態,這些指令還有很多可調整的參數,請參閱Raspberry Pi基金會官方的介紹與指令的詳細解說文件。而且這些照片經過上傳後,可能會與原本的稍有出入。
以指令raspistill可拍照,如下
$ raspistill -o image.jpg -t 1000
-o指定輸出檔名,-t指定預覽時間(單位為千分之一秒),你會在螢幕上看到預覽畫面。如果你發現相片左右或上下顛倒,可加入參數-hf(horizontal flip)與-vf(vertical flip)調整。
這是我的手與我房間的天花板牆壁。
這是昨天去參觀的Maker Faire: Taipei 2013宣傳單。
這是我喜歡的一本書。
另外可利用指令raspivid進行錄影,如下:
$ raspivid -o video.h264 -t 20000
-o指定輸出檔名,為H.264格式,-t指定錄製時間(單位為千分之一秒)。
錄製後,我放到Windows上,觀看時卻不太對頭,會出現如下畫面。
但這應該是我電腦與媒體播放器(以及codec)的問題,可利用ffmpeg轉成其他格式,例如:
$ ffmpeg -r 30 -i video.h264 -vcodec copy outputfile.mkv
或是
$ avconv -r 30 -i video.h264 outputfile.avi
(轉檔指令的詳細用法,還請自行參閱文件。)
然後就能正常播放(注意,底下是我轉檔後、上傳後的樣子,絕對不是最佳品質)。
嗯,中間水平方向似乎有一條帶子,奇怪,是不是排線沒插好,還是光線問題呢,或是需要調整參數,就讓我慢慢研究吧。
另外,還可以將影像透過網路傳送到別台電腦上顯示,請參考Raspberry Pi官方部落格介紹的步驟。
上述指令所使用的程式API應該都是mmal(其底下就是OpenMAX),嗯,這又是另一項研究的主題了。
有了相機後,可以作些什麼應用呢?先上網找找別人的作品吧,譬如縮時攝影。
e絡盟有個比賽,大意就是用Raspberry Pi相機模組拍照參加,詳細辦法請見這裡,截止日期2013年6月14日。
我在5月14日中午時下訂單,寄來的購買確認郵件中寫著Raspberry Pi HD Video Camera module的價錢是US$25.49,以及Raspberry Pi Type B Single Board Computer 512MB的價錢是US$34.34,另外運費Standard Delivery是US$7.87,總共US$67.70,另外有一封付款確認郵件(應該是由PayPal負責金流)寫著,總計$67.70 USD,原始金額NT$2,092 TWD,匯率1 TWD = 0.0323613 USD。
然後在5月16日晚上,DHL(負責運送的公司)寄來出貨通知郵件。
最後在5月20日早上11:00,收到包裹囉,非常迅速。簽收時還是用數位觸控筆在一台機器上頭簽名,呵。
底下是這款相機模組的規格:
Omnivision 5647 sensor in a fixed-focus module(影像感測器)
5M Pixel sensor(500萬像素)
Still picture resolution: 2592 x 1944
Max video resolution: 1080p(720p或1080p的H.264錄影格式)
Max frame rate: 30fps
尺寸:20 x 25 x 10mm
這是寄來的包裹。
包裹背面。
打開後就是兩個小盒子,底下是Raspberry Pi Model B。
打開後的樣子。
底下是主角相機模組,用個紙盒裝著,被壓到了,有點不爽。
開箱!就是一個防靜電袋子,裡面就是相機模組與排線。相機模組對於靜電非常敏感,取出前先確保你身上沒有殘留靜電。
總長大約17公分。
這就是相機模組,正面。
相機模組,背面。
排線端,要插入Raspberry Pi的相機連接埠。
排線端的另一面。
Raspberry Pi的相機模組連接埠為CSI(Camera Serial Interface)介面,位於HDMI與RJ-45網路線連接埠之間。
接下來要將相機模組與Raspberry Pi板子連接起來,排線頗為細緻,需小心對待,不可強力折彎,官方釋出一段影片介紹如何連接,請務必看一遍。
這是連接埠原本的樣子。
小心地拉起塑膠卡榫,拉起高度只有一點點而已,請小心。
然後插入排線,請注意方向,並保持排線上的鍍金端成為平行狀態。然後壓下塑膠卡榫。
相機鏡頭有貼保護膜,請移除。
移除後的樣子,保護膜在旁邊。
完成囉!
以上便是硬體部分,接下來是軟體部分。我用的是Raspbian(2013-02-09-wheezy-raspbian.img),請先更新韌體與軟體:
$ sudo apt-get update
$ sudo apt-get upgrade
(我個人習慣使用dist-upgrade)
然後執行raspi-config:
$ sudo raspi-config
進入裡頭的「camera」項目,啟用相機模組,再重開機。
接下來,便能使用一些準備好的程式與指令拍攝靜態照片與錄製動態影片。
注意:底下的照片是我用很基本的指令與參數所拍攝的,所以不是最佳狀態,這些指令還有很多可調整的參數,請參閱Raspberry Pi基金會官方的介紹與指令的詳細解說文件。而且這些照片經過上傳後,可能會與原本的稍有出入。
以指令raspistill可拍照,如下
$ raspistill -o image.jpg -t 1000
-o指定輸出檔名,-t指定預覽時間(單位為千分之一秒),你會在螢幕上看到預覽畫面。如果你發現相片左右或上下顛倒,可加入參數-hf(horizontal flip)與-vf(vertical flip)調整。
這是我的手與我房間的天花板牆壁。
這是昨天去參觀的Maker Faire: Taipei 2013宣傳單。
這是我喜歡的一本書。
另外可利用指令raspivid進行錄影,如下:
$ raspivid -o video.h264 -t 20000
-o指定輸出檔名,為H.264格式,-t指定錄製時間(單位為千分之一秒)。
錄製後,我放到Windows上,觀看時卻不太對頭,會出現如下畫面。
但這應該是我電腦與媒體播放器(以及codec)的問題,可利用ffmpeg轉成其他格式,例如:
$ ffmpeg -r 30 -i video.h264 -vcodec copy outputfile.mkv
或是
$ avconv -r 30 -i video.h264 outputfile.avi
(轉檔指令的詳細用法,還請自行參閱文件。)
然後就能正常播放(注意,底下是我轉檔後、上傳後的樣子,絕對不是最佳品質)。
嗯,中間水平方向似乎有一條帶子,奇怪,是不是排線沒插好,還是光線問題呢,或是需要調整參數,就讓我慢慢研究吧。
另外,還可以將影像透過網路傳送到別台電腦上顯示,請參考Raspberry Pi官方部落格介紹的步驟。
上述指令所使用的程式API應該都是mmal(其底下就是OpenMAX),嗯,這又是另一項研究的主題了。
有了相機後,可以作些什麼應用呢?先上網找找別人的作品吧,譬如縮時攝影。
e絡盟有個比賽,大意就是用Raspberry Pi相機模組拍照參加,詳細辦法請見這裡,截止日期2013年6月14日。
2013/05/18
Maker Faire: Taipei 2013進場參觀的一些照片
今天(5/18),跟兩位朋友前往參觀Maker Faire: Taipei 2013,出展攤位、活動時間表、工作坊,還請參考這一篇。
其他分享心得文:
一路上都有旗幟引路,非常明顯。
3D印表機(成型機)紅到不行,會場內好幾台。
這一台製作出來的東西滿細緻的。
各種科學玩具。
各種電子機械。
8x8x8的LED,製造出眩目的效果。
當然啦,Arduino的應用也是處處可見,底下是使用Motoduino(Arduino加上馬達控制)製造出來的自走機,加上超音波偵測牆壁。
當然啦,四處也可見Raspberry Pi。
運用Raspberry Pi打造家庭劇院,圖中是OpenELEC的XBMC。
舞台上正在分享演講中。
啊哈,拿水果來當做開關與按鍵,按一下就會發出聲音喔。
人潮絡繹不絕。
我只拍了幾張照片而已(渣畫質,請見諒),其他還有仿生獸、3D月亮週期變化、魔棒、展示各種電子感測元件、音樂水舞、尋寶機器人、各種複雜的機器人、智能小車、萬物可印的平板直噴機、程式交易機器人、投影初音、等等等等,眼花撩亂不可勝數。
有興趣的朋友請務必親自前往參觀喔,明天(5/19)還有喔。
其他分享心得文:
- 大家可看看由Taipei Hackerspace拍攝的一段影片,約三分鐘半,以及照片。
- 小璇子の奇幻世界: 2013.05.18、19 Maker Faire:Taipei,照片非常精美、非常多,專業等級。
- [遊記] Maker Faire 創意嘉年華~台北首度開展!!! - tw731122的創作 - 巴哈姆特。
- Jack的資訊教學筆記的心得文。
- 也可以追蹤《Make》國際中文版的Facebook,一定會有官方拍攝的照片集錦。
- 官方的Maker Faire Taipei活動報導Day1,照片又大又漂亮。
- 官方的Maker Faire Taipei活動報導Day2,照片又大又漂亮。
- 微醺時刻的2013 Maker Faire Taipei 參觀心得。
- 日本SwitchScience的Maker Faire Taipeiに参加してます!@二日目。
一路上都有旗幟引路,非常明顯。
3D印表機(成型機)紅到不行,會場內好幾台。
這一台製作出來的東西滿細緻的。
各種科學玩具。
各種電子機械。
8x8x8的LED,製造出眩目的效果。
當然啦,Arduino的應用也是處處可見,底下是使用Motoduino(Arduino加上馬達控制)製造出來的自走機,加上超音波偵測牆壁。
當然啦,四處也可見Raspberry Pi。
運用Raspberry Pi打造家庭劇院,圖中是OpenELEC的XBMC。
舞台上正在分享演講中。
啊哈,拿水果來當做開關與按鍵,按一下就會發出聲音喔。
人潮絡繹不絕。
我只拍了幾張照片而已(渣畫質,請見諒),其他還有仿生獸、3D月亮週期變化、魔棒、展示各種電子感測元件、音樂水舞、尋寶機器人、各種複雜的機器人、智能小車、萬物可印的平板直噴機、程式交易機器人、投影初音、等等等等,眼花撩亂不可勝數。
有興趣的朋友請務必親自前往參觀喔,明天(5/19)還有喔。