新聞中心
iOS開發(fā)(OC)——支付寶支付
1、首先在支付寶開發(fā)者平臺(tái)上創(chuàng)建應(yīng)用,并按照開發(fā)者平臺(tái)上的步驟把SDK接入,配置環(huán)境(這些步驟支付寶開發(fā)者平臺(tái)寫的很清楚,下面我主要寫一些開放平臺(tái)沒有,或者需要注意的地方)
創(chuàng)新互聯(lián)從2013年開始,公司自成立以來始終致力于為企業(yè)提供官網(wǎng)建設(shè)、移動(dòng)互聯(lián)網(wǎng)業(yè)務(wù)開發(fā)(小程序開發(fā)、手機(jī)網(wǎng)站建設(shè)、重慶APP開發(fā)公司等),并且包含互聯(lián)網(wǎng)基礎(chǔ)服務(wù)(域名、主機(jī)服務(wù)、企業(yè)郵箱、網(wǎng)絡(luò)營(yíng)銷等)應(yīng)用服務(wù);以先進(jìn)完善的建站體系及不斷開拓創(chuàng)新的精神理念,幫助企業(yè)客戶實(shí)現(xiàn)互聯(lián)網(wǎng)業(yè)務(wù),嚴(yán)格把控項(xiàng)目進(jìn)度與質(zhì)量監(jiān)控加上過硬的技術(shù)實(shí)力獲得客戶的一致贊譽(yù)。
2、導(dǎo)入頭文件 #import AlipaySDK/AlipaySDK.h (如果報(bào)錯(cuò),則是缺少某些類庫(kù)或者靜態(tài)庫(kù)和頭文件路徑?jīng)]有設(shè)置好,請(qǐng)仔細(xì)查看并按照開放平臺(tái)的步驟檢查,或者看一下這個(gè): )
3、iOS 8.0以下重寫下面方法
4、iOS 9.0以上實(shí)現(xiàn)下面的方法(也就是說,如果app要兼容iOS 8.0以上,則步驟3和步驟4的方法都要實(shí)現(xiàn))
5、發(fā)起支付
注意:為了支付完成后能成功返回app,需要在info.plist文件中設(shè)置URL scheme,并且這個(gè)值是唯一的(最好填寫bundel id 或者開放平臺(tái)上的app ID),詳細(xì)步驟在支付寶開放平臺(tái)的接入文檔有
iOS開發(fā):SDK依賴第三方庫(kù)及其踩過的坑
公司開發(fā)的SDK,是集成了各個(gè)平臺(tái)的商品,包括購(gòu)買、分享、提現(xiàn)等功能,為了加快進(jìn)度,我是使用了一些第三方。但是有些需求,比如分享到微信朋友圈或者還有,必須用到微信的SDK??紤]到后期的維護(hù)成本和集成,筆者采用了cocoapods管理第三方庫(kù)。
筆者有片文章專門介紹SDK的開發(fā)步驟的,大家可以參考,我這里就直接進(jìn)入主題了。
首先,你創(chuàng)建一個(gè)靜態(tài)的framework工程MyTestSDK,把這個(gè)工程集成cocpapods,至于如何集成cocpapods,網(wǎng)上有教程,自己搜索。這個(gè)時(shí)候把你項(xiàng)目中所用的第三方庫(kù)添加到Podfile文件中,然后 pod install。這個(gè)時(shí)候你command + B 編譯運(yùn)行,如果你的第三方庫(kù)中還有Bundle資源,那么編譯后,第三方庫(kù)的bundle資源會(huì)被編譯,一起放到Products文件下的framework文件中,右鍵Show in Finder就會(huì)看到。如下圖所示的MBProgressHUD文件夾,里面都是MBProgressHUD第三方的資源文件。
然后把你的項(xiàng)目放入SDK工程中,編譯運(yùn)行一下,看看有沒有錯(cuò)誤。之所以先把SDK工程選用cocoapods管理,就是怕你的項(xiàng)目放入SDK中運(yùn)行報(bào)錯(cuò)。沒有任何問題,直接編譯即可。
由于SDK中的第三方是通過cocoapods管理的,所以接入者的項(xiàng)目也要用cocoapods管理。
1:把SDK工程中,Products文件夾下的framework文件copy到項(xiàng)目中,最好項(xiàng)目中建立一個(gè)文件夾,專門放SDK和bundle。我是放到了一個(gè)文件夾中,方便分類尋找。如下圖所示:
2:打開終端,cd到SDK所在的文件夾下,執(zhí)行如下命令,回車,創(chuàng)建spec文件。
其中,MyTestSDK是你的SDK名稱。
創(chuàng)建出來的spec文件,是個(gè)很長(zhǎng)的文件,但是大部分都是注釋的,我這里只提取了有用的信息展示出來:
然后把spec中依賴的第三方庫(kù),逐個(gè)加入到項(xiàng)目中的Podfie文件中。然后 終端打開,cd到自己的項(xiàng)目中,pod install即可。
本人親自測(cè)試過的,No Problem。當(dāng)初感覺SDK如果依賴了第三方庫(kù),接入的項(xiàng)目中也有同樣的第三方庫(kù),會(huì)不會(huì)沖突啊,感覺好難搞啊。事實(shí)證明,通過spec進(jìn)行依賴,可以很好的解決這個(gè)問題,也就沒有那么麻煩了。
首次開發(fā)SDK還是遇到了很多問題,運(yùn)行出現(xiàn)很多bug,但是最后還是一一解決了,就是沒有記錄下bug和解決發(fā)的方法。
1;path路徑不對(duì),就會(huì)報(bào)錯(cuò) ,如下
是因?yàn)槲野崖窂綄懗闪耍?/p>
其實(shí)正確的寫法是:把“/”放在前面
2:SDK中有第三方,但是項(xiàng)目中的Podfile里面沒有這個(gè)第三方,報(bào)錯(cuò)如下所示:
解決辦法是就是在項(xiàng)目中的 Podfile里面加入缺失的第三方庫(kù),重新 pod install。
iOS開發(fā)之SDK國(guó)際化
對(duì)SDK內(nèi)部text進(jìn)行國(guó)際化處理
在控制器上顯示一段文字,底下有三個(gè)按鈕,每一個(gè)按鈕點(diǎn)擊之后切換不同的語(yǔ)種,分英文、簡(jiǎn)體中文和繁體中文三種。
注意:
創(chuàng)建靜態(tài)庫(kù)可以參考: iOS開發(fā)庫(kù)之(二):靜態(tài)庫(kù)Framework的創(chuàng)建
創(chuàng)建Bundle可以參考: iOS之Bundle的創(chuàng)建與使用
點(diǎn)擊剛剛創(chuàng)建的Localizable.strings文件,點(diǎn)擊以下紅框:
默認(rèn)只支持英文的:
選擇需要支持的語(yǔ)言,比如說Chinese(Simlified)/Chinese(Traditional):
本處只需要支持三種:英文、簡(jiǎn)體中文、繁體中文,那配置結(jié)果如下圖:
以上屬于Bundle里面的設(shè)置內(nèi)容,這個(gè)國(guó)際化的內(nèi)容就設(shè)置完了,接下來是如何顯示不同的內(nèi)容,先編譯一下Bundle,另外每次改變Bundle都需要重新單獨(dú)編譯~
注意:其他的聯(lián)調(diào)的我就不說了,另外還有Alert的那個(gè)類我也不說了,大家更詳細(xì)的可以看DEMO, DEMO傳送門
以下附上三張效果圖:
附帶其他的國(guó)際化:
3分鐘實(shí)現(xiàn)iOS語(yǔ)言本地化/國(guó)際化(圖文詳解)
以上?。?!
iOS SDK框架開發(fā)中的那些坑
????最近業(yè)務(wù)需求需要開發(fā)一個(gè)SDK集成到友方App中,于是就有了本文中的這些經(jīng)驗(yàn)(掉坑-爬坑-掉下一個(gè)坑)。
????這個(gè)其實(shí)不涉及技術(shù)問題,但是也需要謹(jǐn)慎,因?yàn)槲覀兊腟DK屬于一個(gè)比較完整的業(yè)務(wù)模塊,所以依賴的第三方庫(kù)還是挺多的,其中就用到了高德地圖,(開始我們就用的通用版本,結(jié)果友方用的是另一個(gè)版本,結(jié)果為了能夠集成成功,后期不得不更改高德地圖版本),所以建議如果是這種明確合作方的SDK這種框架還是需要提前溝通好。
????PS:忍不住吐槽一下,高德地圖整出一大堆亂七八糟的框架目的是個(gè)啥呢,又不能互相兼容,開發(fā)者還不知道選擇哪個(gè)合適。
????原生App開發(fā),資源文件最多的無非是圖片,在平時(shí)項(xiàng)目開發(fā)中一般會(huì)放到asset文件夾中,但是在SDK中,需要?jiǎng)?chuàng)建.bundle文件(建議與項(xiàng)目同名)對(duì)資源文件進(jìn)行管理。
????該方法在項(xiàng)目中使用舉例:
????簡(jiǎn)單來說,在生成模擬器.framework中與生成真機(jī).framework時(shí),都存在arm64架構(gòu),網(wǎng)上提供的通過后期命令行刪除某個(gè)arm64的方式始終無法解決該問題。此時(shí)需要配置如圖選項(xiàng),大概意思是在模擬器生成的.framework的框架不再添加arm64,后期將模擬器庫(kù)與真機(jī)庫(kù)合并,各個(gè)架構(gòu)模式就都存在了。
模擬器包與真機(jī)包合并命令行
制作遠(yuǎn)程私有庫(kù)的教程有很多,此處就不展開來仔細(xì)說明了。 iOS開發(fā): 配置CocoaPods遠(yuǎn)程私有倉(cāng)庫(kù) 重點(diǎn)說一下針對(duì)非開源的.framework框架,如何去配置spec
設(shè)置自己的非開源SDK
設(shè)置項(xiàng)目SDK相關(guān)的資源文件夾(bundle)
當(dāng)自己開發(fā)的SDK中包含類目文件時(shí),編譯就會(huì)有提示找不到,此時(shí)需要在設(shè)置頁(yè)other_laflags添加'-objc',但是在SDK中無法設(shè)置,只能寫在spec文件。
當(dāng)調(diào)用pod lib lint --verbose --use-libraries時(shí)報(bào)了如下錯(cuò)誤:
Ld .../Build/Intermediates.noindex/App.build/Release-iphonesimulator/App.build/Objects-normal/arm64/Binary/App normal arm64
解決方案:
????經(jīng)歷了整個(gè)SDK的完整開發(fā)流程,一步步排除問題,最終達(dá)到了最終結(jié)果。在此感謝一起解決問題的同事--卞老板。
Cocos creator ios開發(fā)—微信支付(三)
目錄: Cocos creator ios開發(fā)-接入微信SDK系列文章
這是官方文檔: app微信支付開發(fā)文檔
第一步、
先接入微信SDK,請(qǐng)參考 Cocos creator ios開發(fā)—接入微信SDK
第二步、
在Xcode的Info的設(shè)置項(xiàng)中,URL Types 的URL Schemes填寫APPID
在AppController.h中添加接口:
app啟動(dòng)時(shí),注冊(cè)APPID,在AppController.mm中的didFinishLaunchingWithOptions方法中調(diào)用
第三步、
向oc發(fā)送支付信息
第四步、
oc收到支付信息,發(fā)起支付
文章題目:ios支付sdk開發(fā),開發(fā)ios應(yīng)用
轉(zhuǎn)載來源:http://www.dlmjj.cn/article/dsiisej.html