『壹』 APICloud 社區ios編譯失敗 怎麼辦
最近公司有使用APICloud發開的需求,需要我這邊提供一些模塊包得封裝。因為沒有也是剛接觸APICloud,所以也就在看官方文檔 。下面講一講我再使用過程中得一點點東西。 首先,下載官方SDK,下載最新版本的模塊開發SDK,找到裡面的MolesDevProject_iOS.zip,這裡麵包含MoleDemo、MolesDevProject和說明文件。MoleDemo是一個官方的模塊包封裝和靜態庫生成的工程。MolesDevProject則是可以讓我們自己調試的工程。 模塊類實現 2.1. 新建模塊類 新建一個UZMoleDemo類,繼承於UZMole類,其中UZMole類為模塊的基類。模塊開發過程中文件命名時提倡加前綴,以避免和其它模塊沖突。 2.2. 模塊生命周期 當前端js中調用模塊方法時,模塊首先會被初始化,引擎會調用其 - (id)initWithUZWebView:(UZWebView *)webView 方法; 當模塊所在的頁面被銷毀時,引擎會調用其 - (void)dispose 方法。 2.3. 啟動方法 如果模塊需要在應用啟動的時候就執行一些操作,那麼首先得在mole.json裡面配置launchClassMethod,例如配置的方法為launch,然後在模塊裡面實現該方法,當應用啟動時該方法就會被執行。 + (void)launch{ //在mole.json裡面配置的launchClassMethod,必須為類方法,引擎會在應用啟動時調用配置的方法,模塊可以在其中做一些初始化操作;下面代碼為注冊一個實現了UIApplicationDelegate協議方法的對象,該對象中方法就會在需要的時候被調用,通過此方式可以實現第三方應用回調url解析、推送等常用功能 //UZApphandler 基礎Object基類 可以做一些需要AppDelegate 實現的初始化 如初始化推送的AppKey等等 // UZAppHandler *appHandler = [[UZAppHandler alloc] init]; // [theApp addAppHandle:appHandler]; } 2.4. 方法調用 實現 - (void)showAlert:(NSDictionary *)paramDict 方法,用於顯示一個對話框,該方法需要在mole.json裡面配置,然後在前端js裡面才可以調用該方法。 如果前端調用該方法時傳入了一個function,那麼在這里可以通過cbId欄位獲取該function對應的id,然後在需要的時候把數據通過該function回調給js。 - (void)showAlert:(NSDictionary *)paramDict { _cbId = [paramDict integerValueForKey:@"cbId" defaultValue:-1]; NSString *message = [paramDict stringValueForKey:@"msg" defaultValue:nil]; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:message delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"確定", nil]; [alert show]; } 2.5. 回調 我們在這里實現UIAlertViewDelegate中的 - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex 方法,將用戶點擊的按鈕index回調給js端,代碼如下: - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex { if (_cbId >= 0) { NSDictionary *ret = @{@"index":@(buttonIndex)}; [self sendResultEventWithCallbackId:_cbId dataDict:ret errDict:nil doDelete:YES]; } } 當然,也可以定義自己的方法method,同時要修改mole.json的配置 注意不要[+]以及引號的英 漢。{ "name":"moleDemo",//模塊包名一致 "class":"UZMoleDemo",//模塊類名 "methods":["showAlert","method"],//自己定義的方法名 "launchClassMethod":"launch"//是否執行launc類方法 } 找到widget目錄下html目錄裡面的mole-con.html,我們在這裡面調用showAlert等方法,如下 var param = { msg:"Hello App!" }; var demo = api.require('moleDemo');//模塊包名稱 (mole.json 這里 模塊包名稱 三者要一致) demo.showAlert(param, callBack);//傳參數調用方法 和回調 function callBack(ret, err){ var msg; if (ret.index == 0){ msg = "點擊了第一個按鈕"; } else { msg = "點擊了第二個按鈕"; } api.toast({ msg:msg }); } 調試好了之後,把添加 修改的文件 加入MoleDemo的靜態庫工程(也可以自己創建),去掉沒用的,選擇iOS device編譯,復制靜態庫文件。 創建文件夾名稱和模塊包一致,裡面在創建target文件夾,把靜態庫文件粘貼進來,加入用到了第三方的Framework和bundle束也放進來。 target同級目錄粘貼mole.json文件,返回壓縮成zip文件. 獲取在apicloud創建的應用的Id 修改widget下config.xml 頂部的id,復制壓縮widget文件。在apicloud控制台,轉到該應用,選擇代碼部分,上傳widget.zip 跳轉模塊中自定義模塊上傳模塊包,名稱必須和模塊包名稱一致。保存 編譯,如果沒有意外,你就能掃二維碼 下載安裝你的應用到手機了。 這里默認的時apicloud提供的證書,加入要改自己的就看證書欄目,都有教程的。Mark!
『貳』 APICloud 的版本更新怎麼用,雲修復怎麼用
雲修復:針對同一版本,比方說發給1.0.0的修復包,只有1.0.0版本的應用能更新,1.0.1或者其他任何版本的應用是不會收到更新的。同時,如果你針對該版本發布了10個修復包,那麼會等到最後一個修復包修復成功再提示,中間的9個都不會提示你,也就是只會提示你一次 版本更新:針對不同版本,手機安裝的版本必須比所要更新的版本低,也可進行多版本更新,只提示最新版本的 雲修復和版本更新都支持新增,這個過程是一個覆蓋的過程,有則覆蓋,無則追加;如果之前的版本是加密的,新提交的代碼會加密後再更新 注意事項: 1.版本更新時,如果處於測試階段,可以填對應的plist的下載地址,如果說以後你的應用上線了AppStore,那麼更新時就要填寫應用在AppStore的地址了 2.IOS如果提交了自己的個人證書,需要先上蘋果store才能更新,APICloud檢測到更新後會自動跳到蘋果市場去更新。企業版證書可以直接更新。蘋果不允許應用不經過版本審核而自己應用內更新 3.項目由一帳號移至另一帳號,不是直接移交,新建項目把代碼直接覆蓋,包名和簽名證書和原項目保持一致,版本更新是基於appId進行判斷的,你可以在原來的那個項目上,發布最後一個版本,而這最後一個版本的包,是由你的新項目編譯出來的,之後再發布版本時,就可以在新項目上發布了。
『叄』 APICloud平台雲編譯失敗的原因是什麼
編譯失敗只有2種原因:1.證書信息不符。2.widget文件夾中含有中文名的文件。
『肆』 如何使用apicloud中的模塊
1、模塊上傳到網站。 (控制台 --> 模塊 --> 自定義模塊)
2、把使用模塊的js代碼widget 包上傳到網站 (控制台 --> 代碼 -->上傳代碼)
3、本地測試,還是雲編譯 :(本地測試,是不包含模塊的, 需要雲編譯, 勾選模塊, 雲編譯,掃描生成的二維碼 安裝)即可。
APICloud是中國領先的「雲端一體」的移動應用雲服務提供商。基於APICloud提供的「雲API」和「端API」,開發者甚至可以忘記繁雜的服務端編碼,也可以忘記復雜的Objective-C和Java,更可以忘記那數不清的屏幕適配。
『伍』 如何在APICloud平台使用騰訊X5引擎
原生APP使用騰訊X5的流程:
1,登錄APICloud官網
2,進入控制台創建 「Native」
3,創建成功後進入該應用的預覽界面,點擊左側「動態生成」,進入SDK編譯界面
4,在平台選擇處勾選「騰訊X5(Android)」
5,點擊「編譯SDK」按鈕進行編譯
6,將編譯完成後的SDK下載,集成至你的APP項目中使用
7,集成該SDK後的APP在調用SuperWebview載入H5頁面時,將使用X5引擎執行
如果是打包"webapp" 應用,也是一樣的,登陸APICloud後,進入控制台創建「webapp」,設置完「端設置」、「證書」等配置後,點擊雲編譯,可直接選擇騰訊X5(Android)進行編譯,編譯完成的APP將使用X5引擎載入運行。
『陸』 apicloud 開發 能用么
分享一下APICloud的使用體驗:
一直在做PC端的HTML5開發,之前也用過Phonegap,一直關注Hybird開發的發展。前幾天看到APICloud,試用了一下,整體感覺不錯,我的看法如下:
優點:
1、方案完整,簡化,上手快。因為有Phonegap的基礎,了解概念花了不到兩個小時,做出第一個小App花了一天半。
2、IDE整合做的不錯,直接連接雲端,SVN代碼同步,直接連接手機App Loader真機調試,Log可以通過IDE輸出,比模擬器真實,直觀。
3、雲編譯很方便,跨平台打包,直接生成二維碼,我的小App做完打包,直接發二維碼給朋友用。
4、手機底層硬體/組件調用API很實用,測了一些,比如語音識別,都不錯。
5、文檔完備,相比開源項目往往缺乏文檔,信息需要東拼西湊來說,APICloud的文檔比較集中和全面。
缺點:
1、缺乏常見模式App的完整框架Demo,比如:一個帶頭部信息,底部導航和側邊菜單的應用框架用APICloud的UI組件怎麼寫,頁面間跳轉和參數傳遞怎麼寫,這些都是動手開發之前最先要解決的問題。Demo App里的組件示例有用,但是框架和基本流程要先跑起來。
2、UI組件不夠豐富(也可能是我了解還不夠),我嘗試寫測試App的時候最先考慮用APICloud提供的UI組件,但是發現很散且不成體系,無奈只好用JQMobi搭建了UI框架,雖然知道既然APICloud宣稱可以實現原生App體驗,像我這樣使用第三方JS框架的方式肯定是不推薦的。
3、IDE聯機調試的Log輸出不穩定,經常斷線。
4、文檔層次和細致程度還不夠。文檔現在的層次有點混亂,不好定位信息,最好分一下類別,比如媒體類,通訊類,等等。另外還有一些API沒有說明文字。
總結:
由於只試用了兩天,具體底層API是否可以很好的支持常見功能還沒能完整測試。但是就我用到的部分,可以說已經很好用的,比Phonegap易學易用,很方便。對於應用類App開發來說絕對是利器,尤其是對我這樣PC端HTML5開發很熟但是手機原生開發不熟的人,入門成本基本為0。所以,很棒,加油!
『柒』 apicloud不能編譯提示:不是有效的apicloud項目,我是新手
修改C:\Windows\System \drivers\etc\hosts文件,用記事本打開。加入下面的文本,保存後重啟瀏覽器即可#appleGoogleMap . . . maps-api-ssl.google.com . . . maps.gstatic.com . . . mts .google.com . . . mts .google.com . . . khms .google.com . . . khms .google.com
『捌』 apicloud的雲修復 和版本更新是怎麼回事,能解釋一下嗎
雲修復:不要選擇靜默修復,修復只針對同一版本有效
版本:需要雲編譯一個更高版本的APK,然後在版本里設置版本升級,版本號必須比原版本號高
『玖』 apicloud老是顯示未綁定模版
那就是你沒綁定模塊啊,你去控制台,有個模塊 點擊去 然後缺什麼模塊添加什麼模塊,之後如果你要真機測試那麼你的編譯自定義loader,或者直接雲編譯就可以
『拾』 apicloud 打包到期什麼意思
可以的,在APICloud控制台可以填寫相關網站,創建一個APP,之後雲編譯就是一個單獨的APP了。很簡單的,你可以去試試。