-->

2013年4月30日 星期二

使用php及mysql使app具備連線網路資料庫(web database)的能力 (三) - 撰寫 app連線 php

前面兩篇使用php及mysql使app具備連線網路資料庫(web database)的能力 (一) - 建構資料庫及使用php及mysql使app具備連線網路資料庫(web database)的能力 (二) - 撰寫 php以 mysql管理資料庫。我們建置了mysql並且知道如何撰寫php去存取mysql。現在,終於可以開始撰寫app的部份了。

本篇會撰寫一個簡單的登入頁面,能夠進行註冊,以及登入,並會顯示註冊及登入成功或失敗。







要達成上述的功能,需要進行http request。雖說Objective-C本身就有提供完成這類工作的方法,但是使用起來太過繁雜,不容易使用。而網路上有許多open source提供了這方面的功能,筆者在此使用 AFNetworking來完成這部份的工作。因此,你必須先到這裡下載這個開放原始碼,稍後會在app中使用到。下載完成後,可以開始撰寫程式碼了!

2013年4月21日 星期日

使用php及mysql使app具備連線網路資料庫(web database)的能力 (一) - 建構資料庫

前言 - 使app具備連線資料庫的方法

本系列文章是使用 php及 mysql 令 app具備連線網路資料庫能力的學習心得。由於 ios sdk並沒有直接連線資料庫的 library能夠使用,因此,現今大部分的作法是用 webView去 request網頁,再經由網頁連線 database的方式,達成連線資料庫的功能。以筆者使用的方式為範例,就如下圖所示:

當然還有其他的如 asp.net等,但是由於 php不用付費,所以筆者選擇使用 php來當做中間的橋樑。本系列文章,分為三個主題:建構資料庫、撰寫 php連線資料庫以及撰寫 app連線 php。以下就開始第一個部分。

使用php及mysql使app具備連線網路資料庫(web database)的能力 (二) - 撰寫 php以 mysql管理資料庫

在上一篇使用php及mysql使app具備連線網路資料庫(web database)的能力 (一) - 建構資料庫,我們完成了資料庫的建置。本篇會針對如何以 php連線資料庫,進行查詢及新增資料。如果你是第一次接觸 php,可以到 codecademy這個互動式教學網站看看 php相關的入門課程,大約幾小時就能對 php有個大概的了解。

2013年2月21日 星期四

使用Xcode 的source control 做版本控制 (2) - Branch

延續上一篇使用Xcode 的source control 做版本控制 (1),本篇會針對其中一項功能Branch 做說明。當在設計app時,可能會面臨一種情況,想法的分歧。比如當你切換到另一個view 時,這個view 有一個主要風格A,但是有另外一種風格B也不錯,因此而讓你舉棋不定。此時可以使用branch 功能,為另外一種風格做一個分歧。因此你的app 會分為A 走向與B 走向。那麼該如何設定分歧,以下就針對此功能做介紹。

2013年1月30日 星期三

使用Xcode 的source control 做版本控制 (1)

有一次筆者在開心專案準備嘗試新的練習的時候,赫然注意到在選擇檔案存放位置的時候,下面有個Source Control 可以勾選,那麼究竟這是什麼東西,一瞬間就勾起了許多的好奇心。經過一番研究之後,原來還有"版本控制"這個概念。其實這個概念以筆者目前的理解,就是把每個階段的構想完成之後,儲存起來並留下註解與版本編號,假如日後有不同的想法,可以從某個合適的版本從新開始,省去許多麻煩。本篇文章只先針對簡單的設定,還有使用方式做一個解說,筆者認為這個觀念建立及使用的好,不僅可以增加效率,還可以幫助整理思路。那麼以下就針對如何在Xcode 中使用Source control 做一個說明。

2013年1月29日 星期二

如何確認資料沒有備份到iCloud上







在這篇"如何不讓資料備份到iCloud"中,告訴大家如何指定資料不要備份到iCloud上。完成設定之後,程式執行也都沒有問題,可是,如何確定資料真的沒有備份到iCloud上呢?以下針對這部份跟大家做說明。

首先,必須將app安裝到你的設備上iPhone/touch/iPad,就是說這個app 進行過實機測試,至於如何進行實機測試,可以參考筆者的另一篇文章"如何在iPhone/iPad上進行實機測試"。

之後到你的"設定"->"iCloud"->"儲存與備份"->"管理儲存空間",在備份中選擇安裝測試app的設備名稱,進入到這個設備的詳細備份資訊,找到你的app就可以看到他在iCloud 中佔用多少容量了,如上圖。"手創小物"這個app第一次申請上架的時候,佔了7.4MB,因此而被蘋果reject。因此,如果你的app第一次執行之後, 就佔了很多容量,很容易就會被蘋果reject了。

如何不讓資料備份到iCloud

本篇會教你如何不讓app裡面的資料被備份到 iCloud上,上面這段是什麼意思?又為什麼要這麼做? 請聽筆者慢慢道來. 這是發生在第一次上架(手創小物 app),也是第一次被蘋果reject。理由是我違反了這個 iOS Data Storage Guidelines. 裡面羅列了4條規則,簡單的翻譯就是如下:

  1. <Application_Home>/Documents 裡面只能放使用者產生的東西。
  2. 如果你有想要放什麼東西在資料夾裡面,可能是為了能夠讓app能夠在沒網路的狀況下也能夠使用,就必須把這些東西放到 <Application_Home>/Library/Caches這裡面。
  3. 放在<Application_Home>/tmp 裡面的東西呢,用完就要去把它刪掉,不能留著佔使用者的空間。
  4. 第四點則是告訴你,有些東西使用者放到documents裡面去,你也可以把這些東西設定為不要備份到 iCloud上去,這樣可以讓使用者節省他的 iCloud空間。

筆者違反了上述的第四點,因為在 app中為了有 offline使用的功能,筆者把很多檔案都先下載下來放在 documents裡面了。筆者應該使用的是第二個規則。不過後來也不是完全依據第二條規則,因為筆者把第二和第四條規則結合了。既放在 Caches裡,又不讓它備份到iCloud上。說到這相信大家對每個資料夾會發生什麼事,都有了認知,在此就總結一下:

  • <Application_Home>/Documents 會備份到iCloud
  • <Application_Home>/Library/Caches 會備份到iCloud
  • <Application_Home>/tmp 不會備份到iCloud

以上說了這麼多,希望大家能夠避免在這部份被reject。詳細的東西當然還是得去看看蘋果的那篇規則,而筆者的方式就在這裡提供給大家參考。以下分為兩個步驟,依序進行就可以大功告成了。