本篇文章包含了開發一個App及發布的大部分內容,有了本篇文章,大家再也不用東奔西跑的去找資料了,這里面有開發App的完整資料及如何建立一個屬于自己的框架,這篇文章主要針對初學者,如果有寫的不好的地方,大家可以指出,希望和大家共同進步。?
先談下我對App的理解,無非就是發出數據請求,獲取后臺傳來的數據,然后體現在界面上。這樣也就是說我們我發送網絡的get或者是post請求,然后就是獲取到了數據,一般獲取到的數據有三種形式:1.json格式(其實在我眼里就只有這一種) 2.xml格式 3.字符串形式。獲得數據之后就是解析數據了,swift對于解析json數據也是非常簡單的,對于解析出來的數據,一般有兩種處理方式:1.使用本地數據持久化方式(通俗講也就是將數據存起來,存到手機上)。2.直接將數據顯示到界面上(不推薦,簡單的也可以這么做啦)。在我眼里,說白了,開發一個App其實就是在做上面重復的事情。下面就來詳細的講下如何來搭建屬于自己的框架。本篇是基于Xcode6.2,其實思路一樣
對于初學者來說,一般的網絡請求,json數據簡析這些使用開源框架就可以了
第一步.網絡請求框架 這里使用的是YYHRequest-Swift這個開源框架。下載地址:https://github.com/yayuhh/YYHRequest-Swift大家可以自行去下載。有了框架,申請數據就方便多了。簡單的get,post方式申請數據:
1.get方式(data是數據,對其處理就好了)
let request = YYHRequest(url: NSURL(string: "http://www.google.com/"))
request.loadWithCompletion {response, data, error in
if let actualError = error {
// handle error
} else if let actualResponse = response {
// handle success
}
}
2.post方式:
let request = YYHRequest(url: NSURL(string: "http://www.google.com/"))
request.method = "POST"
request.parameters["foo"] = "bar"
request.completionHandler = { response, data, error in
// request complete!
}
request.loadRequest()
這樣申請網絡數據就完成了,接下來就是解析數據了。
第二步.json數據解析框架 。SwiftyJSON這是一個使用極其普遍的開源框架,下載地址:https://github.com/lingoer/SwiftyJSON大家可以自行去下載,使用的話外面的文章實在是太多了,我就推薦一篇大家去看就OK了http://www.lxweimin.com/p/ae9a579905e0這里面已經寫出了使用方法,大家可以跟著里面的例子進行測試。
在這里插一下版本更新,蘋果公司是不允許直接更新app的,需要跳轉到App Store去自行下載,做出版本更新的思路就是:自己服務器上放含有最新版本號的json數據,通過網絡請求獲取json數據,解析json數據獲得最新版本號,與目前的版本號進行對比,判斷是否跳出提示更新的框,是的話就跳轉到App Store地址,因為自己寫篇幅就過長了,這里也給出參考的文章,在這里感謝曾給過幫助的朋友們!參考地址:http://www.lxweimin.com/p/6f22f06261f5
上面兩個框架就可以解決很多問題了,下面當然要講下怎么導入上面這兩個框架了,這里就簡述了,新建一個工程,比如Helloworld,然后將YYHRequest-Swift,SwiftyJSON中的.xcodeproj文件拉到項目中去,然后點擊自己的項目,這里是Helloworld,然后點擊General,然后往下拉,看到Embedded Binaries 下面有個加號,將這兩個框架添加進來就行了
第二種導入框架的方法,就是使用cocoapods,有篇文章寫得非常好,這里推薦下http://www.lxweimin.com/p/1f93e0fec8a5
到這里就認為是框架導入成功了。
第三步.界面的搭建,相信大家對基本的控件的使用應該沒什么問題吧,如果有問題的話,推薦去下載IOS開發指南這本書的源碼,然后怎么去對應上內容,怎么獲取PDF大家自己想辦法嘍,源碼下載地址:http://www.51work6.com/forum.php?mod=viewthread&tid=1159&extra=page%3D1這里面擁有所有基本控件簡單使用源碼,只要合理利用,會有相當大的作用的。
第四步,數據持久化。這里推薦http://www.lxweimin.com/p/7616cbd72845其實在剛才推薦的下載的源碼的第十一章ch11中講的非常清楚,Demo代碼也非常適用。目前我用的就是修改Demo代碼中的。
還有很中要的一點就是界面布局,這點非常重要。因為現在iphone的屏幕尺寸種類多了,目前還是推薦使用自動布局Auto Layout來對界面布局推薦一個非常好的學習地址,相信看完這篇文章,布局是一點問題都不會有了,寫得非常詳細https://lvwenhan.com/ios/430.html相信大家會有很大收獲的。
經過上面這些,框架基本是搭建起來了,下面就介紹一些開發一個App不可避免要用到的一些東西
1.IOS(swift)-scrollView(tableView) ·下拉刷新上拉加載
http://www.lxweimin.com/p/94b6d7287faf
2.動態啟動界面(有需要時用)
http://fromwiz.com/share/s/0i4C850y0AUf2VM_1t15ktzt2XPmI93U7QMr2rF2y40mYXtX
3.純代碼寫的tab bar
http://www.lxweimin.com/p/a9808d63408b
4.app的引導頁
http://www.lxweimin.com/p/024dd2d6e6e6
5.自定義tab bar 并帶有動畫
http://www.lxweimin.com/p/d487a87105e7
6.使用ShareSDK完成第三方分享功能
http://www.lxweimin.com/p/f95080d109a6
TableView是一個非常重要,比其他基本控件要復雜一點的控件,在上面下載的源碼的第六章完整的介紹了基本用法。
最后就只剩下App的發布了,之前我寫過一篇關于此類的文章,請大家移步http://www.lxweimin.com/p/2813abee7187
如果有寫的不對的地方,還請指出,我會及時修改。寫得不好的地方還請大家見諒,需要大家的支持。