使用IC框架开发跨平台App的备忘录123

时间:2022-04-21 01:39:58

1,关于图标与启动屏幕

icon.png 192x192
splash.png 2208x2208

将这两个图片放在resources目录下,在终端执行:
ionic resources --iocn --splash

2,发布Android版本

cordova build --release android -- --ant
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore ./platforms/android/bin/MainActivity-release-unsigned.apk alias_name
rm ./fengkong.apk
/work/apps/android-sdk-macosx/build-tools/22.0.1/zipalign -v 4 ./platforms/android/bin/MainActivity-release-unsigned.apk ./fengkong.apk

生成签名文件my-release-key.keystore的命令:
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

注:zipalign位于具体的API版本下。
 
3,发布iOS版本

使用xcode打开项目编译、发布。

4,关于跨域的处理

使用ionic serve --lab启动调试,可能会遇到跨域的安全问题。
在server nginx配置文件内添加:

location / {

add_header 'Access-Control-Allow-Origin' '*';

add_header 'Access-Control-Allow-Credentials' 'true';

add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';

add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';

proxy_pass http://127.0.0.1:9000;

}

      启动Chrome:
    open /Applications/Google\ Chrome.app/ --args --disable-web-security

5,Service的写法

angular.module('starter.services', [])

.factory('Consts', function() {

// Might use a resource here that returns a JSON array

return {

version: function() {

//同时修改config,package中的version

return 3.23;
    }
};

});
 
6,一个$http get请求

$http.get(url)
    .success(function(data, status, headers,config){
        console.log('data success');
        console.log(data); // object seems fine
    })
    .error(function(data, status, headers,config){
        console.log('data error',data);
    })
    .then(function(result){
    });

7,确定弹窗

var confirmPopup = $ionicPopup.confirm({
title: '提示',
template: '发现了新版本,单击确定立即前往更新'
});
confirmPopup.then(function(res) {
if(res) {
if ( ionic.Platform.isIOS() ){
var iosUpdateUrl = "https://fir.im/37ew";
window.open(iosUpdateUrl,"_system","");
}else if( ionic.Platform.isAndroid() ){
var androidUpdateUrl = "https://fir.im/jca9";
window.open(androidUpdateUrl,"_system","");
}
} else {
console.log('You are not sure');
}
});

8,提示

$ionicPopup.alert({

title: '提示',
template: '未发现新版本'
});