① 請問用html5打包成的app,在蘋果與安卓上作用有什麼區別
你是不是想問h5封裝打包APP?安卓和蘋果是兩個系統,安卓APP的後綴是.apk,蘋果是.ipa,將h5打包APP,要對應自己的手機系統,兩個系統的APP只能安裝到對應的系統上,蘋果(安卓)APP是不能安裝在安卓(蘋果)系統上的。
h5封裝打包的APP,其實只是給網頁套了一個APP的殼子,讓它可以安裝在手機桌面上,打開還是網頁,網頁上能實現的操作,都可以在手機端實現,APP只是一個外殼,本質還是一個網頁。安卓和蘋果都是一樣的。
在亥著就可以做,搜索亥著,登錄賬號進入後台,輸入APP名稱、網址、就可以封裝打包了。
② ionic添加ios平台時怎麼修改圖標
由於Ionic更新了命令行工具,以後修改應用圖標和添加啟動畫面就簡單了,最新方法見最下方:
應用圖標:
1.在整個項目所在文件夾下創建res文件夾,里邊再分別創建兩個文件夾android和ios。
2.針對Android平台:將我們的要替換的啟動圖標放如android文件夾下。可以分別起名為:mdpi.png(48*48),hdpi(72*72)、xhdpi(96*96)、xxhdpi(144*144) 和 xxxhdpiI(192*192)。
針對ios的,待補充。
3.在config.xml中添加
<platform name="android">
<icon src="res/android/ldpi.png" density="ldpi" />
<icon src="res/android/mdpi.png" density="mdpi" />
<icon src="res/android/hdpi.png" density="hdpi" />
<icon src="res/android/xhdpi.png" density="xhdpi" />
</platform>
其中src中的圖片路徑就為整個項目的相對路徑。
我這里偷了個懶,只搞了一個最高像素密度的應用圖標(192px*192px)進去,安卓會自動進行壓縮。
這里順便說一下如果要修改應用的名稱,只要修改name標簽里的內容即可。
這樣在命令行中重新運行ionic run android,就能看到應用圖標和名字已經被替換了。
啟動畫面:
將啟動畫面的圖片拷貝到之前的android文件夾下,splash-land-hdpi.png(640*480)splash-land-ldpi.png(426 × 320)splash-land-mdpi.png(470 × 320)splash-land-xhdpi.png(960 × 720)splash-port-hdpi.png(480*640)splash-port-ldpi.png(320*426)splash-port-mdpi.png(320*470)splash-port-xhdpi.png(720*960)
(名稱可隨意,只要和config.xml對應上即可)。
在config.xml中添加
<splash src="res/screen/android/splash-land-hdpi.png" density="land-hdpi"/>
<splash src="res/screen/android/splash-land-ldpi.png" density="land-ldpi"/>
<splash src="res/screen/android/splash-land-mdpi.png" density="land-mdpi"/>
<splash src="res/screen/android/splash-land-xhdpi.png" density="land-xhdpi"/>
<splash src="res/screen/android/splash-port-hdpi.png" density="port-hdpi"/>
<splash src="res/screen/android/splash-port-ldpi.png" density="port-ldpi"/>
<splash src="res/screen/android/splash-port-mdpi.png" density="port-mdpi"/>
<splash src="res/screen/android/splash-port-xhdpi.png" density="port-xhdpi"/>
<preference name="SplashScreen" value="screen"/>
<preference name="SplashScreenDelay" value="10000" />
其中10000單位為毫秒,即10秒後隱藏啟動畫面。如果不寫第三句,默認3秒隱藏。
如下圖所示:
我這里沒有那麼多解析度下的圖片,就隨便找了一個稍大解析度的,density也沒寫。它會自動將該圖片拷貝到drawable文件夾。
這時候再重新運行程序,即可看到啟動畫面。
用以上的方法,啟動畫面的顯示時長是固定的,很明顯不太友好。
未完持續...
以上方法已經可以使用Ionic命令行工具來自動生成了,步驟如下:
1.在項目的根目錄下創建resources文件夾。
2.在文件夾中都放入icon.png(應用圖標,最小192x192px,不帶圓角),splash.png(啟動屏幕,最小2208x2208px,中間區域1200x1200px)(可以是png、psd、ai)
3.在cmd中進入項目所在文件夾執行:
ionic resources
執行該命令後,會自動在resources文件夾下創建已添加的平台名稱的文件夾,如:android,其中會自動將圖片進行縮放、裁剪,生成不同解析度的圖片,並在config.xml中添加相應內容。
也可分開執行:
ionic resources --icon
ionic resources --splash
注意:執行以上命令時需在線!
③ Windows下bat自動打包ionic,但ionic執行完不會返回繼續執行
1、安裝VMware和Mac OS
參考網上教程
2、ionic開發ios程序
3、安裝Xcode
為什麼要安裝Xcode呢?
ionic開發Android程序都不需要安裝eclipse等IDE,只要一個能寫SSS,js
,HTML的IDE就行(Hbuilder,WebStrom,Sublime Text), 開發完成之後不就執行個ionic platform
add android,ionic build android,然後就能生成一個.apk文件,給手機上一安裝O了。
ionic開發ios程序就得安裝Xcode
IDE,這是因為蛋疼的ios程序無法直接使用命令生成,使用命令只能生成.project文件,然後再使用Xcode
IDE將.project文件轉成.ipa文件,更讓人蛋疼的是這個ipa文件居然也不能被直接安裝到愛瘋上,只能先上傳到APP
Store,人家審核通過之後,我們再從APP
Store上下載。(看到這你可能快瘋了,但是沒法啊,誰讓人家NB呢。好了廢話少說了,乖乖安裝Xcode吧)
4、安裝ionic開發環境
(這個和在windows上安裝android開發環境類似)
5、安裝Nodejs
網路下載,傻瓜式安裝,注意:你現在是Mac本,所以需要下載Nodejs for mac的,別下錯了
6、安裝cordova,ionic
sudo npm install -g cordova
sudo npm install -g ionic
或者合成一句統一安裝
sudo npm install -g cordova ionic
7、創建項目
ionic start firstIonicProjectForIos [tabs][blank][sidememu]
8、瀏覽器中運行項目(調試項目)
cd firstIonicProjectForIosionic serve(自動在afai瀏覽器中打開)
9、模擬器中運行項目
因為apple開發的證書限制我們在沒有申請購買apple賬號的情況下,使用虛擬機來部署我們的應用,在部署之前需要使用npm安裝一個ios-sim插件用來調用模擬器的,執行命令:
sudo npm install -g ios-sim
然後執行
ionic platform add ios (添加ios平台)ionic build ios
開始編譯項目,編譯完成之後用Xcode打開開發目錄下platform->ios->myIonic.xcodeproj的項目文件,Xcode中選擇要運行的虛擬機版本並執行快捷鍵cmd+R運行虛擬機,虛擬機打開後會自動運行你應用。
當然你也可以使用命令:
ionic emulate ios(在ios模擬器中打開)/ionic run ios(我的報錯了)
PS: 為什麼不用run ios 命令直接啟動虛擬機呢,因為我的環境下執行run會報錯,虛擬機會打開但是無法運行程序,找了半天解決解決方案沒有結果,索性直接用Xcode了,效果是一樣的
10、打包項目
能使用Ionic來開發app的很可能對Ios和android的app打包發布流程不是很熟悉,我這里簡單說明下:
ionic build android命令執行完成之後會在項目目錄/platforms/android/build/outputs/apk目錄下面生成.apk文件。
但是ionic build ios命令執行完成之後不會生成.ipa文件,只會在項目目錄/platform/os目錄下生成.xcodeproj文件,這個文件需要藉助Xcode才能將其打包成.ipa文件。
因此接下來的任務就成了使用Xcode打包.xcodeproj成為.ipa的事情了。
④ ionic 極光推送 ios 需要通過蘋果伺服器嗎
遠程推送(APNs)都要通過蘋果的伺服器來推的。第三方只是方便簡化了你的一部分工作。
⑤ 什麼語言既可以做iOS開發又可以做安卓開發呢
h5就可以,但是h5性能不好,你可以看看apicloud就是用h5開發app的 還有就是xamarin。
iOS開發語言主要包括:C語言基礎、Obiective-C編程、UIKit框架詳解這三大塊。 C語言基礎:C語言是開發語言的基礎,是最常用的一門程序設計語言,最常用於編寫計算機程序。
Obiective-C編程: Obiective-C是在C語言的基礎上,加入面向對象特性擴充而成的通用型高級編程語言。
UIKit框架詳解:UIKit框架是iPhone應用程序開發中最基本的框架,也是最常用到及最重要的框架。
你說的是hybrid app開發,即混合app開發,一般用javascript寫前端的邏輯,用HTML和CSS構建頁面,可以用Cordova插件調用設備,比如攝像頭,錄音啥的,最終再利用工具如ionic這種的分別生成iOS或者android代碼。
iOS來源於Apple的OSX,是UNIX系統,OSX已經有差不多10年的歷史,從內核底層到軟體架構都是逐步發展過來的。iOS使用ObjectivC這個古老的語言來做開發。
而Android是Google基於Linux搞來的,嚴格意義上講Android並不是一個Linux系統,它沒有Linux的xwin,沒有glibc,缺乏一整套標準的Linux程序。