GVKun编程网logo

cordova – 如何禁用ios的方向颠倒?

4

如果您想了解cordova–如何禁用ios的方向颠倒?的知识,那么本篇文章将是您的不二之选。同时我们将深入剖析android–Cordova:如何使用cordova-cli为每个平台设置不同的包名?、

如果您想了解cordova – 如何禁用ios的方向颠倒?的知识,那么本篇文章将是您的不二之选。同时我们将深入剖析android – Cordova:如何使用cordova-cli为每个平台设置不同的包名?、Cordova (PhoneGap):运行cordova run ios时如何查看错误或console.log、Cordova - CordovaError: Promise rejected with non-error: ''ios-deploy was not found、Cordova 5 build命令正在删除iOS设备方向设置的各个方面,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

cordova – 如何禁用ios的方向颠倒?

cordova – 如何禁用ios的方向颠倒?

在我的应用程序(ion cordova)中,我为纵向设置了方向,但是当我打开 xcode来构建时,选项updside down是启用的.如何在config.xml中禁用颠倒?

我的config.xml

<preference name="orientation" value="portrait" />

谢谢

解决方法

尝试将config.xml更改为:< preference name =“orientation”value =“default”/>

然后在iOS平台级别通过以下方式将您的偏好值更改为“纵向”:< preference name =“orientation”value =“default”/>

Config Ref

默认值:默认值

允许值:
默认,风景,肖像.

这允许您锁定方向并防止界面响应方向的变化而旋转.

注意:默认值表示Cordova将从平台的清单/配置文件中删除方向首选项条目,从而允许平台回退到其默认行为.对于iOS,要同时指定纵向和横向模式您将使用平台特定值’all’.

我遇到了相反的问题然后通过改变它来解决它.我希望这有帮助!

android – Cordova:如何使用cordova-cli为每个平台设置不同的包名?

android – Cordova:如何使用cordova-cli为每个平台设置不同的包名?

我有一个适用于iOS和 Android的应用程序,我正在从PhoneGap 2.x升级到Cordova 4.0.

由于iOS和Android应用程序是使用PhoneGap 2.x创建的,因此我有两个独立的项目(即iOS项目和Android项目).这些项目具有HTML / CSS / JavaScript资产的共享www目录(使用符号链接).当我升级到Cordova 4.0时,我可以拥有一个Cordova项目,并使用Cordova CLI为platforms目录中的每个平台创建项目.

用于Cordova中每个平台的包名称是在共享的config.xml文件中设置的. Cordova CLI使用config.xml中设置的包名称来执行perpare,build和add platform命令.

不幸的是,用于PhoneGap 2.x应用程序的软件包名称并不相同(即Android应用程序的软件包名称与iOS应用程序的软件包名称不同).

例如:Android应用程序的软件包名称类似于com.example.applongname,但iOS应用程序的软件包名称类似于com.example.AppShortName.包名称的开头(即反向公司域名)对于每个应用程序是相同的,但应用程序名称不同. iOS应用程序名称还包含大写字母.

我需要保留用于初始PhoneGap 2.x版本的软件包名称,以便可以更新应用程序(即最终用户可以接收更新,以替换他们现有的应用程序安装).

如何在不创建两个单独项目的情况下为每个平台设置包名?

解决方法

以这种方式写小部件:
<widget id="com.company.app" android-packageName="com.company.androidapp" ios-CFBundleIdentifier="com.company.iosapp" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">

有关详细信息,请参阅我的other答案.

Cordova (PhoneGap):运行cordova run ios时如何查看错误或console.log

Cordova (PhoneGap):运行cordova run ios时如何查看错误或console.log

如何解决Cordova (PhoneGap):运行cordova run ios时如何查看错误或console.log?

我正在运行带有 Phaser 游戏引擎的cordova 应用程序...

我应该在屏幕上显示图像,但由于某种原因,图像没有出现。相反,它有一个占位符。 我猜科尔多瓦很可能会出错,但我在运行 ios 时无法访问它:cordova run ios

当我在浏览器上运行它时,一切正常:cordova run browser

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

Cordova - CordovaError: Promise rejected with non-error: ''ios-deploy was not found

Cordova - CordovaError: Promise rejected with non-error: ''ios-deploy was not found

原文: Cordova - CordovaError: Promise rejected with non-error: ''ios-deploy was not found

错误信息:

CordovaError: Promise rejected with non-error: ''ios-deploy was not found. Please download, build and install version 1.9.2 or greater from https://github.com/phonegap/ios-deploy into your path, or do \''npm install -g ios-deploy\''''
    at cli.catch.err (/usr/local/lib/node_modules/cordova/bin/cordova:30:15)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:189:7)
CordovaError: Promise rejected with non-error: ''ios-deploy was not found. Please download, build and install version 1.9.2 or greater from https://github.com/phonegap/ios-deploy into your path, or do \''npm install -g ios-deploy\''''
    at cli.catch.err (/usr/local/lib/node_modules/cordova/bin/cordova:30:15)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:189:7)
CordovaError: Promise rejected with non-error: ''ios-deploy was not found. Please download, build and install version 1.9.2 or greater from https://github.com/phonegap/ios-deploy into your path, or do \''npm install -g ios-deploy\''''
    at cli.catch.err (/usr/local/lib/node_modules/cordova/bin/cordova:30:15)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:189:7)
** ARCHIVE FAILED **

发生情况:在 OSX 里面执行 Cordova 编译命令时候发生。

错误原因:没能安装 “ios-deploy” 这个 node 插件。

解决办法:安装它就好了,用下面命令安装,如果第一个命令安装失败,那么用第二个命令安装。

sudo npm install -g ios-deploy

如果上面命令安装失败,那么使用下面命令:

sudo npm install -g ios-deploy --unsafe-perm=true

ios-deploy 官方网站:

https://github.com/ios-control/ios-deploy

Cordova 5 build命令正在删除iOS设备方向设置

Cordova 5 build命令正在删除iOS设备方向设置

使用Cordova 5.1.1时,执行“cordova build ios”时,先前在XCode项目中选择的任何设备方向设置都将被删除,而未选中方向设置复选框.

虽然“方向”配置首选项可能提供强制定位的方法,但我需要能够为iPad和iPhone设置不同的方向首选项.

所有以前的Cordova版本(低于5)都尊重这些设置.有任何想法吗?

使用XCode 6.3.2.

解决方法

编辑:

根据@Abhinav Gujjar,修复了导致cordova准备覆盖对.plist中的方向设置所做的手动更改的问题.但是,AFAIK还没有办法在config.xml中为iPad和iPhone设置不同的方向偏好,所以下面的答案就是这样.

更新:

我创建了插件cordova-custom-config,它包含了下面的挂钩,意味着可以在config.xml中定义特定于平台的自定义配置块(例如这些方向设置).所以你可以使用插件而不需要手动创建下面的钩子.

这是在Cordova 5.0.0 CLI – see here中引入的.

与此同时,我一直在使用after_prepare挂钩作为解决方法.只需将以下内容放在< your_project> /hooks/after_prepare/some_file.js中,并根据需要更改方向设置:

#!/usr/bin/env node

// Set support for all orienations in iOS .plist - workaround for this cordova bug: https://issues.apache.org/jira/browse/CB-8953
var platforms = process.env.CORDOVA_PLATFORMS.split(',');
platforms.forEach(function(p) {
    if (p == "ios") {
        var fs = require('fs'),plist = require('plist'),xmlParser = new require('xml2js').Parser(),plistPath = '',configPath = 'config.xml';
        // Construct plist path.
        if (fs.existsSync(configPath)) {
            var configContent = fs.readFileSync(configPath);
            // Callback is synchronous.
            xmlParser.parseString(configContent,function (err,result) {
                var name = result.widget.name;
                plistPath = 'platforms/ios/' + name + '/' + name + '-Info.plist';
            });
        }
        // Change plist and write.
        if (fs.existsSync(plistPath)) {
            var pl = plist.parseFileSync(plistPath);
            configure(pl);
            fs.writeFileSync(plistPath,plist.build(pl).toString());
        }
        process.exit();
    }
});
function configure(plist) {
    var iPhoneOrientations = [
        'UIInterfaceOrientationLandscapeLeft','UIInterfaceOrientationLandscapeRight','UIInterfaceOrientationPortrait','UIInterfaceOrientationPortraitUpsideDown'
    ];
    var iPadOrientations = [
            'UIInterfaceOrientationLandscapeLeft','UIInterfaceOrientationPortraitUpsideDown'
    ];
    plist["UISupportedInterfaceOrientations"] = iPhoneOrientations;
    plist["UISupportedInterfaceOrientations~ipad"] = iPadOrientations;
}

注意:如果您还没有plist和xml2js节点模块,则需要安装它们.

关于cordova – 如何禁用ios的方向颠倒?的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于android – Cordova:如何使用cordova-cli为每个平台设置不同的包名?、Cordova (PhoneGap):运行cordova run ios时如何查看错误或console.log、Cordova - CordovaError: Promise rejected with non-error: ''ios-deploy was not found、Cordova 5 build命令正在删除iOS设备方向设置的相关知识,请在本站寻找。

本文标签: