在这里,我们将给大家分享关于cordova–ionic硬件显示广告后无法恢复工作的知识,同时也会涉及到如何更有效地Cordova/Ionic插件管理的最佳实践?、cordovaionicbuild(待
在这里,我们将给大家分享关于cordova – ionic硬件显示广告后无法恢复工作的知识,同时也会涉及到如何更有效地Cordova / Ionic插件管理的最佳实践?、cordova ionic build(待整理)、cordova – Ionic 3 – ios – 在屏幕上显示所选图像、cordova – Ionic Framework Phonegap Build:工作流程的内容。
本文目录一览:- cordova – ionic硬件显示广告后无法恢复工作
- Cordova / Ionic插件管理的最佳实践?
- cordova ionic build(待整理)
- cordova – Ionic 3 – ios – 在屏幕上显示所选图像
- cordova – Ionic Framework Phonegap Build:工作流程
cordova – ionic硬件显示广告后无法恢复工作
3.X
目前的行为:
在注册硬件之后,如果显示广告,则按下硬件退出应用程序并且不会绑定到正常行为
预期行为:
硬件返回应执行已注册的功能
重现步骤:
>使用任何模板添加创建新应用.
>添加无admob插件
>注册hardwarback以记录某些内容(不退出).
>展示广告.
>按硬件
相关代码:
在app.component.ts的构造函数中注册后处理程序
platform.registerBackButtonAction(() => { console.log("Back pressed"); });
显示横幅广告或插页式广告,然后无需在应用中按任何内容按后退按钮.
该应用程序将退出.我们没有退出处理程序中的应用程序.
APP REPO HERE.
一个相关的问题可以在here.看到
离子信息:
cli packages: (C:\Users\prantikv\AppData\Roaming\npm\node_modules) @ionic/cli-utils : 1.12.0 ionic (Ionic CLI) : 3.12.0 global packages: cordova (Cordova CLI) : 7.0.1 local packages: @ionic/app-scripts : 3.0.0 Cordova Platforms : android 6.0.0 Ionic Framework : ionic-angular 3.7.1 System: Android SDK Tools : 25.2.5 Node : v6.11.3 npm : 5.4.2 OS : Windows 10 Misc: backend : pro
解决方法
document.addEventListener("backbutton",onBackKeyDown,true);
Cordova / Ionic插件管理的最佳实践?
我想最小化检入我的项目的文件数量.主要是我不想检查我的项目从外部源下载的任何文件,也想要遗漏使用我的构建命令生成的任何文件.
希望检查我的项目,然后运行ionic platform add< platform> ;离子构建<平台>并且很高兴去.
我不确定如何在root config.xml文件或plugins /< platform> .json文件中实现
我也尝试过使用hooks / after_platform_add / 010_install_plugins.js,到目前为止这似乎是最好的选择.
任何提示将非常感谢谢谢.
解决方法
cordova ionic build(待整理)
Gradle 离线包解决方法
http://stackoverflow.com/questions/29874564/ionic-build-android-error-when-download-gradle
I had the same problem. I added gradle to my project offline.
After downloading gradle from issued link (here is http://services.gradle.org/distributions/gradle-2.2.1-all.zip) paste it in somewhere likes myApp\platforms\android\gradle\gradle-2.2.1-all.zip
and in build.js from myApp\platforms\android\cordova\lib\build.js
find this:
var distributionUrl = ''distributionUrl=http\\://services.gradle.org/distributions/gradle-2.2.1-all.zip''
;
And replace it with your own file''s location:
var distributionUrl = ''distributionUrl=../gradle-2.2.1-all.zip'';
Gradle 镜像设置问题
使用oschina的镜像, 文件路径 myApp\platforms\android\build.gradle
用以下语句替换mavenCentral()就可以了。
maven {
url ''http://maven.oschina.net/content/groups/public/''
}
cordova – Ionic 3 – ios – 在屏幕上显示所选图像
getimage() { //By default the camera retrieves the image as a JPEG file. const options: CameraOptions = { quality: 100,destinationType: this.camera.DestinationType.FILE_URI,sourceType: this.camera.PictureSourceType.PHOTOLIBRARY,targetWidth:1080,targetHeight:1080,correctOrientation: true,mediaType: this.camera.MediaType.PICTURE,encodingType: this.camera.EncodingType.JPEG } this.camera.getPicture(options).then((fileUri) => { if (this.platform.is(''ios'')) { return this.crop.crop(fileUri,{quality: 100}); } else if (this.platform.is(''android'')) { // Modify fileUri format,may not always be necessary fileUri = ''file://'' + fileUri; /* Using cordova-plugin-crop starts here */ return this.crop.crop(fileUri,{ quality: 100 }); } },(err) => { console.log(err); }).then((path) => { // path looks like ''file:///storage/emulated/0/Android/data/com.foo.bar/cache/1477008080626-cropped.jpg?1477008106566'' console.log(''Cropped Image Path!: '' + path); this.imagePath = path; return path; }); }
然后,我在屏幕上显示我的图像预览,如下所示:
<img [src]="imagePath" />
在iOS和Android上,选择图像,裁剪和上传工作都非常好.但是,在iOS上,图像的显示不起作用. (什么都没有显示)
我的控制台日志显示以下内容:
2017-12-07 15:06:52.559614-0500 fd-app[2537:1186586] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2017-12-07 15:06:52.560425-0500 fd-app[2537:1186586] [MC] Reading from public effective user settings.
2017-12-07 15:06:55.754175-0500 fd-app[2537:1186662] [discovery] errors encountered while discovering extensions: Error Domain=PlugInKit Code=13 “query cancelled” UserInfo={NSLocalizedDescription=query cancelled}
2017-12-07 15:07:04.589982-0500 fd-app[2537:1186586] Cropped Image Path!: file:///var/mobile/Containers/Data/Application/8B2CD0E8-F6AC-4530-BF02-D2F7A188EAC2/tmp/cdv_photo_004.jpg
我尝试将照片库使用情况属性添加到Info.plist文件,但这没有帮助.有什么建议接下来要尝试什么?
更新:不确定这是否与它有关,但我使用的是Xcode 9.2 beta,因为我的iPhone是11.2
此外,我正在谷歌搜索的一切指向这是一个权限问题的事实,但是,选择图像后,图像出现在裁剪器…这让我怀疑这里发生了什么奇怪的事情?裁剪器如何显示图像而不显示HTML页面?
解决方法
If you’re working with local files (text files,images,videos),you’ll need to make sure that the path of file does not have file:// in front of it.
import { normalizeURL } from ''ionic-angular'';
在你的功能中,
this.imagePath = normalizeURL(path); return path;
进一步检查troubleshooting section,它说的相同.
cordova – Ionic Framework Phonegap Build:工作流程
什么是最好的工作流程?
谢谢
解决方法
希望它可以帮助某人.
至于离子v1.0,至少对于我的简单项目来说,最大的区别就是
> config.xml
>所有图像资源都在./resources中
我做了什么:
config.xml更改:
>基于config.xml在.www / config_phonegap.xml中创建了一个新文件
>在widget节点上将名称空间更改为phonegap(xmlns:gap =“http://phonegap.com/ns/1.0”)
>使用正则表达式搜索替换将所有图标和启动标记更改为相应的phonegap等效项
>手动为任何插件创建必要的“gap:plugin”标签
gulp添加:
>创建了一个gulp任务,将.www /转换为./phonegap文件夹
> gulp任务也复制资源
> gulp task coipies over config_phonegap.xml并将其重命名为config.xml
> gulp任务压缩我们的新www文件夹. (zip文件中应该没有顶级www.即我们只想压缩www的内容)
这意味着我的构建工作流程(直到我需要在config.xml中更改某些内容)现在看起来像这样:
> gulp phonegap
>将phonegap.zip上传到https://build.phonegap.com
显然这里有很多需要改进的地方,但我现在需要用它来发布.在创建静态config_phonegap.xml之前,我探讨了一些想法,比如JS中的xml解析或制作XSLT文件.对于努力量,这点似乎是低回报,所以我没有坚持到底.
这是相关的代码位供参考
正则表达式:
### icon regex # android <icon src="([\.\w\\-]+)" density="([\w-]+)"/> <icon src="$1" gap:platform="android" gap:qualifier="$2"/> # ios <icon src="([@\.\w\\-]+)" width="([\d]+)" height="([\d]+)"/> <icon src="$1" gap:platform="ios" width="$2" height="$3" /> ### splash regex # android <splash src="([\.\w\\-]+)" density="([\w-]+)"/> <gap:splash src="$1" gap:platform="android" gap:qualifier="$2" /> #ios <splash src="([~@\.\w\\-]+)" width="([\d]+)" height="([\d]+)"/> <gap:splash src="$1" gap:platform="ios" width="$2" height="$3" />
示例phonegap兼容config.xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <widget id="com.yadda.yadda" version="2.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0"> <name>my app name</name> <description> la di da desc </description> <author email="blah@diblah.com" href="https://harhar.com/">w--</author> <content src="index.html"/> <access origin="*"/> <preference name="webviewbounce" value="false"/> <preference name="UIWebViewBounce" value="false"/> <preference name="disallowOverscroll" value="true"/> <preference name="BackupWebStorage" value="none"/> <preference name="SplashScreen" value="screen"/> <preference name="SplashScreenDelay" value="1500"/> <icon src="resources/android/icon/drawable-ldpi-icon.png" gap:platform="android" gap:qualifier="ldpi"/> <icon src="resources/android/icon/drawable-mdpi-icon.png" gap:platform="android" gap:qualifier="mdpi"/> <icon src="resources/android/icon/drawable-hdpi-icon.png" gap:platform="android" gap:qualifier="hdpi"/> <icon src="resources/android/icon/drawable-xhdpi-icon.png" gap:platform="android" gap:qualifier="xhdpi"/> <icon src="resources/android/icon/drawable-xxhdpi-icon.png" gap:platform="android" gap:qualifier="xxhdpi"/> <icon src="resources/android/icon/drawable-xxxhdpi-icon.png" gap:platform="android" gap:qualifier="xxxhdpi"/> <gap:splash src="resources/android/splash/drawable-land-ldpi-screen.png" gap:platform="android" gap:qualifier="land-ldpi" /> <gap:splash src="resources/android/splash/drawable-land-mdpi-screen.png" gap:platform="android" gap:qualifier="land-mdpi" /> <gap:splash src="resources/android/splash/drawable-land-hdpi-screen.png" gap:platform="android" gap:qualifier="land-hdpi" /> <gap:splash src="resources/android/splash/drawable-land-xhdpi-screen.png" gap:platform="android" gap:qualifier="land-xhdpi" /> <gap:splash src="resources/android/splash/drawable-land-xxhdpi-screen.png" gap:platform="android" gap:qualifier="land-xxhdpi" /> <gap:splash src="resources/android/splash/drawable-land-xxxhdpi-screen.png" gap:platform="android" gap:qualifier="land-xxxhdpi" /> <gap:splash src="resources/android/splash/drawable-port-ldpi-screen.png" gap:platform="android" gap:qualifier="port-ldpi" /> <gap:splash src="resources/android/splash/drawable-port-mdpi-screen.png" gap:platform="android" gap:qualifier="port-mdpi" /> <gap:splash src="resources/android/splash/drawable-port-hdpi-screen.png" gap:platform="android" gap:qualifier="port-hdpi" /> <gap:splash src="resources/android/splash/drawable-port-xhdpi-screen.png" gap:platform="android" gap:qualifier="port-xhdpi" /> <gap:splash src="resources/android/splash/drawable-port-xxhdpi-screen.png" gap:platform="android" gap:qualifier="port-xxhdpi" /> <gap:splash src="resources/android/splash/drawable-port-xxxhdpi-screen.png" gap:platform="android" gap:qualifier="port-xxxhdpi" /> <icon src="resources/ios/icon/icon.png" gap:platform="ios" width="57" height="57" /> <icon src="resources/ios/icon/icon@2x.png" gap:platform="ios" width="114" height="114" /> <icon src="resources/ios/icon/icon-40.png" gap:platform="ios" width="40" height="40" /> <icon src="resources/ios/icon/icon-40@2x.png" gap:platform="ios" width="80" height="80" /> <icon src="resources/ios/icon/icon-50.png" gap:platform="ios" width="50" height="50" /> <icon src="resources/ios/icon/icon-50@2x.png" gap:platform="ios" width="100" height="100" /> <icon src="resources/ios/icon/icon-60.png" gap:platform="ios" width="60" height="60" /> <icon src="resources/ios/icon/icon-60@2x.png" gap:platform="ios" width="120" height="120" /> <icon src="resources/ios/icon/icon-60@3x.png" gap:platform="ios" width="180" height="180" /> <icon src="resources/ios/icon/icon-72.png" gap:platform="ios" width="72" height="72" /> <icon src="resources/ios/icon/icon-72@2x.png" gap:platform="ios" width="144" height="144" /> <icon src="resources/ios/icon/icon-76.png" gap:platform="ios" width="76" height="76" /> <icon src="resources/ios/icon/icon-76@2x.png" gap:platform="ios" width="152" height="152" /> <icon src="resources/ios/icon/icon-small.png" gap:platform="ios" width="29" height="29" /> <icon src="resources/ios/icon/icon-small@2x.png" gap:platform="ios" width="58" height="58" /> <icon src="resources/ios/icon/icon-small@3x.png" gap:platform="ios" width="87" height="87" /> <gap:splash src="resources/ios/splash/Default-568h@2x~iphone.png" gap:platform="ios" width="640" height="1136" /> <gap:splash src="resources/ios/splash/Default-667h.png" gap:platform="ios" width="750" height="1334" /> <gap:splash src="resources/ios/splash/Default-736h.png" gap:platform="ios" width="1242" height="2208" /> <gap:splash src="resources/ios/splash/Default-Landscape-736h.png" gap:platform="ios" width="2208" height="1242" /> <gap:splash src="resources/ios/splash/Default-Landscape@2x~ipad.png" gap:platform="ios" width="2048" height="1536" /> <gap:splash src="resources/ios/splash/Default-Landscape~ipad.png" gap:platform="ios" width="1024" height="768" /> <gap:splash src="resources/ios/splash/Default-Portrait@2x~ipad.png" gap:platform="ios" width="1536" height="2048" /> <gap:splash src="resources/ios/splash/Default-Portrait~ipad.png" gap:platform="ios" width="768" height="1024" /> <gap:splash src="resources/ios/splash/Default@2x~iphone.png" gap:platform="ios" width="640" height="960" /> <gap:splash src="resources/ios/splash/Default~iphone.png" gap:platform="ios" width="320" height="480" /> <icon src="icon.png"/> <gap:splash src="splash.png" /> <!-- so android doesnt'' go bat shit crazy --> <preference name="permissions" value="none"/> <!-- plugins --> <feature name="StatusBar"> <param name="ios-package" value="CDvstatusBar" onload="true"/> </feature> <gap:plugin name="cordova-plugin-statusbar" source="npm" version="1.0.0"> <param name="onload" value="true" /> </gap:plugin> <gap:plugin name="cordova-plugin-splashscreen" source="npm" version="2.0.0" /> </widget>
吞咽任务:
// **** Build phonegap *****/ var PHONEGAP_BUILD_FOLDER = ''../phonegap'',PHONEGAP_RAW_FOLDER = ''www'',IONIC_SOURCE_FOLDER = ''./www'',IONIC_RESOURCE_FOLDER = ''./resources'' PHONEGAP_ZIP_FILE = ''phonegap_build.zip''; gulp.task(''phonegap'',function(cb){ runSequence(''clean_phonegap'',''copy_www'',''copy_resources'',''copy_phonegap_config_xml'',''copy_default_icon'',''copy_default_splash'',''zip_phonegap'',cb); }); gulp.task(''clean_phonegap'',function(cb){ // clean our folder first var phonegap_del_pattern = PHONEGAP_BUILD_FOLDER + ''/*''; del([phonegap_del_pattern],{force: true},cb); }) gulp.task(''copy_www'',function(){ var target_phonegap_folder = PHONEGAP_BUILD_FOLDER + ''/'' + PHONEGAP_RAW_FOLDER return gulp.src([IONIC_SOURCE_FOLDER + ''/**'']) .on(''error'',swallowError) .pipe(gulp.dest(target_phonegap_folder)) }) gulp.task(''copy_phonegap_config_xml'',function(){ var target_phonegap_folder = PHONEGAP_BUILD_FOLDER + ''/'' + PHONEGAP_RAW_FOLDER return gulp.src([''config_phonegap.xml'']) .on(''error'',swallowError) .pipe(rename(''config.xml'')) .pipe(gulp.dest(target_phonegap_folder)); }) gulp.task(''copy_resources'',function(){ var target_phonegap_folder = PHONEGAP_BUILD_FOLDER + ''/'' + PHONEGAP_RAW_FOLDER + ''/resources'',exclude_pattern = ''!'' + IONIC_RESOURCE_FOLDER + ''/_source_assets{,/**}'' // exclude pattern needs to go first. mother fucker. return gulp.src([exclude_pattern,IONIC_RESOURCE_FOLDER + ''/**'']) .on(''error'',swallowError) .pipe(gulp.dest(target_phonegap_folder)); }) gulp.task(''copy_default_icon'',function(){ var target_phonegap_folder = PHONEGAP_BUILD_FOLDER + ''/'' + PHONEGAP_RAW_FOLDER; return gulp.src([IONIC_RESOURCE_FOLDER + ''/ios/icon.png'' ]) .on(''error'',swallowError) .pipe(gulp.dest(target_phonegap_folder)); }) gulp.task(''copy_default_splash'',function(){ var target_phonegap_folder = PHONEGAP_BUILD_FOLDER + ''/'' + PHONEGAP_RAW_FOLDER; return gulp.src([IONIC_RESOURCE_FOLDER + ''/splash.png'' ]) .on(''error'',swallowError) .pipe(gulp.dest(target_phonegap_folder)); }) gulp.task(''zip_phonegap'',function(){ var sourcephonegap_folder = PHONEGAP_BUILD_FOLDER + ''/'' + PHONEGAP_RAW_FOLDER return gulp.src(sourcephonegap_folder + ''/**'') .pipe(zip(''phonegap.zip'')) .on(''error'',swallowError) .pipe(gulp.dest(PHONEGAP_BUILD_FOLDER)); })
今天关于cordova – ionic硬件显示广告后无法恢复工作的介绍到此结束,谢谢您的阅读,有关Cordova / Ionic插件管理的最佳实践?、cordova ionic build(待整理)、cordova – Ionic 3 – ios – 在屏幕上显示所选图像、cordova – Ionic Framework Phonegap Build:工作流程等更多相关知识的信息可以在本站进行查询。
本文标签: