如何從零開(kāi)始開(kāi)發(fā)iOSApp到上架賺錢-附完整源碼

2024-04-19    分類: 網(wǎng)站建設(shè)

前言

有不少人問(wèn)我怎么業(yè)余學(xué)習(xí)寫(xiě)代碼開(kāi)發(fā)一些東西玩玩。我雖然是職業(yè)開(kāi)發(fā)工程師,業(yè)余開(kāi)發(fā)App也僅僅只是自己的興趣而已。我想不是所有的職業(yè)開(kāi)發(fā)者都有興趣或者時(shí)間去做此類玩具小App。我這里分享一個(gè)簡(jiǎn)單的App從開(kāi)發(fā)到上架的基本知識(shí),讓感興趣的朋友有一個(gè)感性的認(rèn)識(shí)。希望對(duì)于想學(xué)習(xí)開(kāi)發(fā)的朋友在方向上面有所幫助。

這個(gè)App是設(shè)置壁紙的,你可以從網(wǎng)上搜索壁紙然后下載到本地。麻雀雖小五臟俱全,具備了一個(gè)App所有的必備要素。本文盡量以通俗易懂的方式讓即使沒(méi)有任何技術(shù)背景的人都能夠理解,所以不會(huì)講太深的技術(shù)細(xì)節(jié)。

對(duì)于職業(yè)軟件工程師,對(duì)于App的開(kāi)發(fā)上架我也給出了完整的源碼,以便深入研究。

我這里附上App鏈接,你們可以自己體驗(yàn)一下:壁紙美圖

主要界面:

APP 截圖

APP 截圖

通過(guò)本文你將獲得

關(guān)于移動(dòng)開(kāi)發(fā)學(xué)習(xí)的基本方向。iOS App從開(kāi)發(fā)到上架的基本流程和知識(shí)?;敬a示例,我個(gè)人開(kāi)發(fā)已上架App完整源碼。

關(guān)于技術(shù)平臺(tái)

很多的朋友在開(kāi)始學(xué)習(xí)開(kāi)發(fā),或者說(shuō)開(kāi)始開(kāi)發(fā)應(yīng)用的時(shí)候會(huì)糾結(jié)于具體的平臺(tái)技術(shù)。我簡(jiǎn)單談?wù)勛约旱目捶ǎ途幊潭杂袛?shù)不盡的種類,但是它們都具有類似的結(jié)構(gòu)化語(yǔ)言,更重要的是編程的思想是大同小異的。

我在選擇平臺(tái)的時(shí)候基本首先看重市場(chǎng)和發(fā)展前景,因?yàn)榧夹g(shù)本身的價(jià)值是要通過(guò)業(yè)務(wù)發(fā)展來(lái)體現(xiàn)的。再者看其學(xué)習(xí)成本以及我們需要做的具體項(xiàng)目,效率和可靠性是應(yīng)當(dāng)考慮的。

這里給出的例子是iOS,Objective-c開(kāi)發(fā)。其它平臺(tái),在大的思路上應(yīng)該是差不多的。

iOS開(kāi)發(fā)的前置條件

知識(shí)

具備普通編程能力。具備iOS平臺(tái)基本開(kāi)發(fā)知識(shí)。具備一定圖片編輯能力,如果不在意App外觀不是必須項(xiàng)目。

硬件:

Mac設(shè)備只要是安裝了蘋(píng)果系統(tǒng)都可以。iPhone測(cè)試設(shè)備(此項(xiàng)大多數(shù)情況下,非必須用模擬器也是可以的)。

軟件:

Xcode 蘋(píng)果系統(tǒng)免費(fèi)的開(kāi)發(fā)工具。圖片編輯器,用于制作圖片資源,簡(jiǎn)單能用即可。Apple Developer 如果需要將App上架到App Store此項(xiàng)才需要,一年99美金。

關(guān)于編程

本文無(wú)法教你學(xué)會(huì)如何去編程,編程是需要一個(gè)較長(zhǎng)時(shí)間的訓(xùn)練才能巨具備的能力。對(duì)于大多數(shù)沒(méi)有完全基礎(chǔ)的人來(lái)說(shuō),馬上去編程的確是一個(gè)比較困難的事情,不排除天才的存在。

不過(guò),任何學(xué)習(xí)都是從模仿開(kāi)始的。不妨拿著代碼照葫蘆畫(huà)瓢先感受一下,畢竟有興趣我們才能繼續(xù)深入下去。

確定自己對(duì)編程有興趣以后可以開(kāi)始學(xué)習(xí)一些編程的基礎(chǔ)知識(shí)。iOS開(kāi)發(fā)使用的Objective C或者Swift,對(duì)于對(duì)于初學(xué)者來(lái)說(shuō)可以找點(diǎn)相關(guān)的書(shū)籍和視頻進(jìn)行學(xué)習(xí)。學(xué)習(xí)基礎(chǔ)語(yǔ)法編譯通過(guò)是首要任務(wù)。

懂得語(yǔ)言基本知識(shí)以后,就可以開(kāi)始學(xué)習(xí)一點(diǎn)iOS平臺(tái)相關(guān)的東西。如果英文足夠好的話,可以去讀Apple官方提供的Programming Guide系列。 Apple 官方文檔連接

初學(xué)者不要太糾結(jié)看什么書(shū),找點(diǎn)大家公認(rèn)的就行了,入門(mén)只是一部分。后面的路還很長(zhǎng)。

App基本架構(gòu)設(shè)計(jì)

目前的大多數(shù)App都是CS(Server Client)架構(gòu),也就是App+服務(wù)器。我們這里不討論服務(wù)器的開(kāi)發(fā),從本質(zhì)上來(lái)說(shuō)服務(wù)器開(kāi)發(fā)跟App并沒(méi)有區(qū)別,只是平臺(tái)不太一樣。(感興趣可以了解一下PHP,Spring Boot等技術(shù))。

如果為了一個(gè)App我們同時(shí)要開(kāi)發(fā)服務(wù)器(其實(shí)很多個(gè)人開(kāi)發(fā)者都是這么干的),那我們就把問(wèn)題復(fù)雜化了。我們今天只專注于App,實(shí)際上網(wǎng)絡(luò)上很多我們可以調(diào)用的服務(wù)器接口資源,也不用完全自己開(kāi)發(fā)。

我的這個(gè)App的圖片搜索就是通過(guò)抓包分析百度的搜索接口得到的,百度搜索引擎的接口很多都是開(kāi)放的。

App + Server架構(gòu)

App的職責(zé)

用通俗的話來(lái)說(shuō)App要做的事情就是想Server索要數(shù)據(jù),然后展示出來(lái)。

Server職責(zé)

Server就是等待App的數(shù)據(jù)請(qǐng)求然后給出相應(yīng)的數(shù)據(jù)即可。

我們用步驟簡(jiǎn)單表述一下App需要做的事情:

展示用戶界面,等待用戶的操作。用戶輸入關(guān)鍵字搜索,App將關(guān)鍵字發(fā)送給服務(wù)器,服務(wù)器返回搜索結(jié)果。App將服務(wù)器的搜索結(jié)果展示出來(lái)。用戶選擇喜歡的圖片,下載保存。

App的實(shí)現(xiàn)就是將這些邏輯用代碼表達(dá)出來(lái),我們個(gè)人的時(shí)間精力是有限的,如果要從頭到尾實(shí)現(xiàn)所有的東西是不太可能的。幸好,iOS和很多開(kāi)源項(xiàng)目幫我們解決了很多常用的問(wèn)題。

開(kāi)始開(kāi)發(fā)

這里不可避免的會(huì)貼一些代碼,我這里盡量只貼一些一目了然的東西。

新建項(xiàng)目

打開(kāi)安裝好的Xcode, 然后新建一個(gè)項(xiàng)目,選一個(gè)你喜歡的名字。

寫(xiě)代碼

開(kāi)發(fā)用戶界面

Xcode可以使用Interface Builder進(jìn)行頁(yè)面開(kāi)發(fā),意味著你可以不用寫(xiě)一行代碼就可以開(kāi)始構(gòu)建用戶界面,你沒(méi)有聽(tīng)錯(cuò),這里可以不用寫(xiě)代碼!

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. return YES; }

具體的開(kāi)發(fā)代碼,我這里就不詳細(xì)說(shuō)了,可以寫(xiě)一本書(shū)。

開(kāi)發(fā)數(shù)據(jù)模塊

網(wǎng)絡(luò)數(shù)據(jù)

用戶界面開(kāi)發(fā)完成以后,我們主要的工作就是開(kāi)發(fā)數(shù)據(jù)相關(guān)的代碼。網(wǎng)絡(luò)數(shù)據(jù)主要是要解析一種叫做JSON的數(shù)據(jù)格式,解析好存起來(lái)就行了。前面我提到網(wǎng)絡(luò)數(shù)據(jù)接口使用的是百度的接口,前提是要抓包分析一下接口具體內(nèi)容。

具體代碼差不多,是這樣子的,就是把一個(gè)個(gè)值拿出來(lái)。我這個(gè)是比較傳統(tǒng)的手動(dòng)解析,用一些現(xiàn)代的流行庫(kù),可以自動(dòng)進(jìn)行映射。

- (id)initWithDictionary:(NSDictionary *)dic { if (self = [super init]) { _imageId = dic[@"id"]; _pageNumber = [dic[@"pn"] integerValue]; _desc = dic[@"desc"]; _tags = dic[@"tags"]; _tag = dic[@"tag"]; _date = dic[@"date"]; _imageUrl = dic[@"image_url"]; _imageWidth = [dic[@"image_width"] floatValue]; _imageHeight = [dic[@"image_height"] floatValue]; _thumbUrl = dic[@"thumbnail_url"]; _thumbWidth = [dic[@"thumbnail_width"] floatValue]; _thumbHeight = [dic[@"thumbnail_height"] floatValue]; _largeThumbUrl = dic[@"thumb_large_url"]; _largeThumbWidth = [dic[@"thumb_large_width"] floatValue]; _largeThumbHeight = [dic[@"thumb_large_height"] floatValue]; _siteUrl = dic[@"site_url"]; _fromUrl = dic[@"from_url"]; } return self; }

不涉及太深的細(xì)節(jié)。

本地?cái)?shù)據(jù)庫(kù)

一般App會(huì)有一個(gè)數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)來(lái)自網(wǎng)絡(luò)和用戶輸入的數(shù)據(jù)。我們可以使用tnyedair,eqlft]I等技術(shù)。

ITrnWs=Conne[h上面新建App

審核上架 等待包上傳以后,我們?cè)僖淮蔚卿浀絀hmnis[Conne[h將我們的App提交審核。在蘋(píng)果審核通過(guò)以后我們就可以在AppS"ar]上面看到自己開(kāi)發(fā)的App了! 關(guān)于盈利 盈利方面,我們可以講App設(shè)置為付費(fèi)購(gòu)買,或者是App內(nèi)容付費(fèi)來(lái)賺錢。這是App_SeorU官方支持的盈利方式。除此之外最簡(jiǎn)單的方式就是在你的App里面接入廣告盈利,國(guó)內(nèi)有不少?gòu)V告聚合商,不過(guò)我個(gè)人建議使用Goog e的Admob。只有要人點(diǎn)擊你的App里面的廣告,你就有收入了!聽(tīng)起來(lái)很美,不過(guò)目前來(lái)說(shuō)要AppdSeole競(jìng)爭(zhēng)非常激烈。用戶對(duì)于App質(zhì)量的要求越來(lái)越高,個(gè)人開(kāi)發(fā)者在有限的時(shí)間精力資源下能夠占得一席之地可謂是非常困難。 但是這也并非絕對(duì),比如之前的r appydbcod,非常簡(jiǎn)單的游戲火得讓人難以理解。關(guān)鍵還是看創(chuàng)意和運(yùn)氣吧。

接下來(lái)干嘛?我想用短短的一篇文章從零開(kāi)始學(xué)會(huì)iOS開(kāi)發(fā)的確不太現(xiàn)實(shí),本文中的每一個(gè)小點(diǎn)都可以寫(xiě)成一本書(shū)。我想通過(guò)這篇短文,給感興趣的朋友一個(gè)感性地認(rèn)識(shí)和一個(gè)大致的方向。

有任何疑問(wèn),或者有更多想了解的內(nèi)容,可以在留言中告訴我,我會(huì)考慮后面繼續(xù)寫(xiě)更加詳細(xì)的教程。

源碼

源碼的地址,關(guān)注公眾號(hào),可以回復(fù) 源碼1 即可獲得。

非常感謝您讀完創(chuàng)新互聯(lián)的這篇文章:"如何從零開(kāi)始開(kāi)發(fā)iOSApp到上架賺錢-附完整源碼",僅為提供更多信息供用戶參考使用或?yàn)閷W(xué)習(xí)交流的方便。我們公司提供:網(wǎng)站建設(shè)、網(wǎng)站制作、官網(wǎng)建設(shè)、SEO優(yōu)化、小程序制作等服務(wù),歡迎聯(lián)系我們提供您的需求。

文章標(biāo)題:如何從零開(kāi)始開(kāi)發(fā)iOSApp到上架賺錢-附完整源碼
轉(zhuǎn)載來(lái)源:http://bm7419.com/news0/324250.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、電子商務(wù)、全網(wǎng)營(yíng)銷推廣、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化