我正在构建一个iOS Cordova应用程序.当我将其上传到iTunes Connect时,它会返回以下错误.
意外的机器代码 - 您的上载包含bitcode和本机机器代码.当您提供bitcode时,也不必包含机器代码.要减小上传的大小,请使用Xcode 7.3或更高版本,或任何其他删除机器代码的工具链.
我config.xml今天已经改变了很多设置,所以我不确定我是否做错了什么并且它是某种新的iTunes Connect的东西.
据我所知,很容易修改它改变Xcode中的一些设置,但我想避免触摸Xcode - 是否有任何方法来修复它使用config.xml?
谢谢
UPDATE
好吧,这似乎是一个Apple问题 - 我能够向TestFlight提交带有这样警告的构建,实际上通过TestFlight测试它并将其提交给AppStore.它尚未通过Apple评论,但我相信它会没问题,因为通常情况下,如果二进制存在任何实际问题,则会立即拒绝构建.
更新2
带有这样警告的应用程序(实际上是3个应用程序)实际上已通过AppStore审核并开始销售.所以我认为可以安全地忽略这个问题.
在使用cordova@5.4.0&的项目中ionic-cli@1.7.8,我面临两种可能性:
cordova create dummy-project && cd dummy-project
cordova platform add browser --save
cordova plugin add cordova-plugin-device --save
## If forgot to add `--save` option, manually update config.xml
#cordova platform save
#cordova plugin save
# reset platforms & plugins, like we just checked out the repository
rm -rf platforms plugins
# `cordova prepare` automatically setup platforms & plugins
# dependencies via config.xml
cordova prepare
Run Code Online (Sandbox Code Playgroud)
优点
平台和插件版本保存config.xml如下:
<plugin name="cordova-plugin-device" spec="~1.0.1" /> …Run Code Online (Sandbox Code Playgroud)我试图在一个新的离子2项目(最新的ionic2版本)中使用cordova GooglePlus插件,但我总是遇到有关cordova的错误.该插件已正确安装并显示在插件文件夹中.
我试过的一种方法是:
import { GooglePlus } from "ionic-native";
Run Code Online (Sandbox Code Playgroud)
然后
GooglePlus.login().then(...)
Run Code Online (Sandbox Code Playgroud)
登录方法执行但总是抛出错误说 "cordova_not_available"
我想先ionic serve在我的Windows系统上测试应用程序,然后再将其部署到我的Android手机上.如何在localhost服务器中提供cordova?从搜索中我了解到cordova.js已生成并始终包含在设备的deploy包中.
我尝试的另一种方法是使用
window.plugins.googleplus.login(...)
Run Code Online (Sandbox Code Playgroud)
但是这种方法不会通过对Windows对象上的插件属性一无所知的打字稿编译器.
我怎样才能解决这个问题?
我有一个新创建的Cordova项目,具有以下config.xml设置(使用http://docs.phonegap.com/en/edge/config_ref_images.md.html中的说明).我还添加了2个平台(iOS和Android).
当我运行cordova run ios或者cordova run android,项目仍然有默认的Cordova图标.我从文档中了解到,Corodva应该根据icon.png我提供的内容自动创建图标config.xml.
config.xml:
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.testapp" version="1.1.2" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>SingleApp</name>
<preference name="DisallowOverscroll" value="true" />
<preference name="AutoHideSplashScreen" value="false" />
<preference name="Orientation" value="portrait" />
<preference name="Fullscreen" value="false" />
<preference name="target-device" value="handset" />
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="dev@cordova.apache.org" href="http://cordova.io">
Apache Cordova Team
</author>
<content src="index.html" />
<access origin="*" />
<icon src="icon.png" />
</widget>
Run Code Online (Sandbox Code Playgroud) 我正在开发一个Cordova插件,对于iOS平台,我想要合并一些现有的(非cordova特定的)Cocoapods.我无法找到有关如何使其工作的任何信息或示例,我希望这是一个相当常见的用例.
请注意,我并没有尝试将Cordova用作Cocoapod,其中有大量信息,而是使用我正在开发的Cordova插件的iOS平台内的Cocoapods.
Cordova plugin.xml通常需要列出所有项目依赖项以正确捆绑事物.有没有人知道内部使用Cocoapods的Cordova或PhoneGap插件?
我想没有我正在开发的Cordova应用程序的状态栏.我快到了,状态栏没有显示在启动画面上.但是,在加载的第一页上,您会在隐藏状态栏之前看到状态栏的闪烁.
我已经检查了Xcode中的"隐藏状态栏"复选框.
我添加了cordova-plugin-statusbar插件,在deviceready回调中,我正在调用StatusBar.hide().
但是,当启动图像消失并且正在呈现第一页时,在显示页面之前会有一个状态栏闪烁.它只是一瞬间,但看起来很糟糕.
有人知道如何完全隐藏状态栏,而不是在被隐藏之前闪烁吗?
我使用Cordova File Plugin在移动设备上创建文件.以下是创建文件的代码:
window.resolveLocalFileSystemURL(cordova.file.dataDirectory, function (dir) {
alert(cordova.file.dataDirectory);
dir.getFile("log.txt", { create: true }, function (file) {
alert("got the file: "+ file.name + ', ' + file.fullPath);
});
});
Run Code Online (Sandbox Code Playgroud)
当我在Android手机上部署应用程序时,该文件将成功创建,但我无法在我的设备上找到创建的文件.
虽然cordova.file.dataDirectory指向 file:///data/data/io.cordova.myappId/files/我设备io.cordova.myappId上的data>data路径,但该Android>data路径中不存在该文件夹,但存在于路径中.顺便说一句,我查都storage>Android>data>io.Cordova.myappId>files与storage>data>data该文件不存在.
这是因为:
创建的文件位于另一个地方,那么我在哪里可以找到它?
要么
因为它是私有的,我的文件管理器无法访问它,所以如何更改权限设置以获得公共文件?
我必须遵循以下情况:我有一个已经存在的远程网页,我想开发一个使用此页面的应用程序.到现在为止还挺好.当我启动应用程序时,本地index.html加载并重定向(window.open target: _self)到外部网站.该网站在phonegap webview中打开.在外部网站上,我添加了cordova.js以便访问本机phonegap API.但它无法正常工作.该deviceReady事件被触发正确的,但我没有访问PhoneGap的API,例如navigator.camera.
我怎样才能完成它,才能访问API?
请不要评论它会被AppStore等拒绝.
谢谢您的帮助!
将Cordova更新到v6.4.0并将Android平台更新到6.0.0后,我的应用程序不再工作了.我明白了:
deviceready has not fired after 5 seconds. cordova.js:1223
Channel not fired: onCordovaInfoReady cordova.js:1216
Channel not fired: onCordovaConnectionReady cordova.js:1216
Run Code Online (Sandbox Code Playgroud)
我试图删除所有插件并逐个添加.我发现这是cordova-plugin-device和cordova-plugin-network-information的一个问题.我的所有插件都是最新的
我正在尝试在我的ionic2 hello world项目中使用geolocation,并按照官方网站上的说明添加离子插件"Geolocation" .
我运行了这两个命令:
$ ionic plugin add cordova-plugin-geolocation
$ npm install --save @ionic-native/geolocation
Run Code Online (Sandbox Code Playgroud)
这是我的家.:
import { Component } from '@angular/core';
import {Geolocation} from '@ionic-native/geolocation'
import { NavController } from 'ionic-angular';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
map:any=null;
geoInfo:any={
resp:'',
data:''
};
constructor(
public navCtrl: NavController,
private geolocation: Geolocation
) {
}
test(){
this.geolocation.getCurrentPosition().then((resp) => {
this.geoInfo.resp=JSON.stringify(resp);
// resp.coords.latitude
// resp.coords.longitude
}).catch((error) => {
console.log('Error getting location', error);
this.geoInfo.resp='Error getting location';
});
let …Run Code Online (Sandbox Code Playgroud) cordova-plugins ×10
cordova ×8
ios ×4
android ×3
ionic2 ×2
angular ×1
cocoapods ×1
ionic ×1
javascript ×1
typescript ×1
xcode ×1