标签: phonegap

Cordova应用程序无法在iPhone X(模拟器)上正确显示

我昨天在Xcode 9.0(9A235)的iPhone X模拟器上测试了我的基于Cordova的应用程序,它看起来不太好.首先,不是填满整个屏幕区域,而是在app内容的上方和下方有一个黑色区域.更糟糕的是,应用内容和黑色之间是两个白条.

cordova-plugin-wkwebview-engine使用WKWebView(不是UIWebView)添加所以Cordova渲染可以修复白条.我的应用程序没有从UIWebView迁移到WKWebView,因为在使用cordova-plugin-wkwebview-engine从Inapp购买托管内容下载的图像到HTML5画布时出现性能和内存泄漏问题(file://由于WKWebView中的安全限制,Webview无法直接访问)必须通过加载图像数据cordova-plugin-file.

这些屏幕截图显示了一个在<body> 上设置了蓝色背景的测试应用.在UIWebView的上方和下方,您可以看到白条,但不能看到WKWebView:

与充满整个屏幕区域的原生应用相比,Cordova Webviews都展示了黑色区域:

ios cordova phonegap iphone-x

113
推荐指数
4
解决办法
8万
查看次数

在本机和phonegap之间挣扎,简单的应用程序要求

我打算制作一个原生的(意思是; 不在浏览器中)移动应用程序.由于我是网络开发人员,我很难决定是否应该尝试使用Phonegap或者只是在java或objective-c中构建本机应用程序.

应用程序要求很简单.GPS/wifi位置,Facebook集成,我想我需要一个数据库来处理一些特定于Facebook的朋友关系.就像游戏中的高分一样 - 比如那样的东西.

我是一名网络开发人员,不知道java或objective-c.我之前从未使用过Phonegap,所以我不知道它是否能够满足我的要求.

所以我的问题如下; 我可以将Phonegap用于我的应用程序,还是需要深入学习新语言?

android ios cordova hybrid-mobile-app phonegap

75
推荐指数
3
解决办法
3万
查看次数

Cordova构建iOS错误:在路径'path/to/myApp.xcarchive'中找不到存档

我一直在努力让Cordova工作并在我的iPhone上运行.我按照下面的命令,但在构建时看到以下错误:

cordova create myApp org.apache.cordova.myApp myApp
cd myApp
cordova platform add ios 
cordova build ios
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Building project: /Users/ben/Desktop/myTest/platforms/ios/myTest.xcworkspace
    Configuration: Debug
    Platform: device
User defaults from command line:
    IDEArchivePathOverride = /Users/ben/Desktop/myTest/platforms/ios/myTest.xcarchive

Build settings from command line:
    CONFIGURATION_BUILD_DIR = /Users/ben/Desktop/myTest/platforms/ios/build/device
    SHARED_PRECOMPS_DIR = /Users/ben/Desktop/myTest/platforms/ios/build/sharedpch

Build settings from configuration file '/Users/ben/Desktop/myTest/platforms/ios/cordova/build-debug.xcconfig':
    CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES
    CODE_SIGN_ENTITLEMENTS = $(PROJECT_DIR)/$(PROJECT_NAME)/Entitlements-$(CONFIGURATION).plist
    CODE_SIGN_IDENTITY = iPhone Developer
    ENABLE_BITCODE = NO
    GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1
    HEADER_SEARCH_PATHS = "$(TARGET_BUILD_DIR)/usr/local/lib/include" "$(OBJROOT)/UninstalledProducts/include" "$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include" "$(BUILT_PRODUCTS_DIR)"
    OTHER_LDFLAGS = -ObjC
    SWIFT_OBJC_BRIDGING_HEADER = $(PROJECT_DIR)/$(PROJECT_NAME)/Bridging-Header.h

error: archive not found …
Run Code Online (Sandbox Code Playgroud)

ios cordova cordova-3 phonegap

53
推荐指数
2
解决办法
3万
查看次数

现在Xcode 11中不再包含Application Loader,如何上载IPA

我有点害怕问这个问题,因为这个问题对我来说似乎很巨大,但我看不到有人对此感到惊慌。我有点害怕听起来很疯狂,但是我会去做的:

正如我们在Apple的Submissions Update上所读到的:

从Xcode 11开始,Xcode不再包含Application Loader。有关如何使用Xcode将应用程序上传到App Store Connect的详细信息,请参阅Xcode帮助。

使用Phonegap构建服务的人员和组织在知道自己无权访问Xcode项目文件的情况下询问自己如何使IPA联机是合法的。

Apple为我们提供了一个称为“ 档案管理器”的新工具,但正如我们在文档上所读到的:

在档案管理器中,选择要上传的档案,然后单击“分发应用程序”。

好吧,我的档案在哪里?IPA是否被视为档案?如何将我的IPA集成到此软件中?

也许我还没有找到合适的解决方案,但是目前,如果没有Application Loader的替代工具,我特别担心Phonegap构建的未来。

那么,您是否甚至遇到过相同的问题,并且找到了解决方案?(向科尔多瓦的迁移除外)

我知道,由于UIWebView的贬值以及Cordova与WKWebView的兼容性低,混合应用程序的使用寿命并不长,但是我不敢相信Apple会决定在没有警告的情况下终止Phonegap构建。和往常一样,Phonegap的团队也不是很健谈。

编辑

好了,可以使用以下命令来传输您的ipa,但是它能正常工作是因为我使用的是旧版本的Xcode(10),所以Xcode 11发布时将不推荐使用它吗?

xcrun altool --upload-app --type ios --file "path/to/application.ipa" --username "YOUR_ITMC_USER" --password "YOUR_ITMC_PASSWORD"
Run Code Online (Sandbox Code Playgroud)

xcode application-loader phonegap-build phonegap xcode11

37
推荐指数
7
解决办法
1万
查看次数

Cordova不会创建AndroidManifest.xml

我在Cordova和AndroidStudio工作,以创建Android/iOS应用程序.一切都工作正常,直到我昨天将我的Cordova更新为8.我还将Node更新到最新版本.当我创建Cordova项目并添加Android平台时.它产生一个完全不同的目录结构.我无法看到assets,res以及src项目平台目录中的文件夹D:\testApp1\platforms\android.更重要的是,上面的目录丢失了AndroidManifest.xml,这导致admob插件无法添加.

这是添加插件时出现的错误:

无法安装'cordova-plugin-admobpro':错误:ENOENT:没有这样的文件或目录,在Object.fs.openSync上打开'D:\ Projects\testApp1\platforms\android\AndroidManifest.xml'(fs.js:646 :18)在Object.parseElementtreeSync(D:\ Projects\testApp1\platforms\android\cordova \node_modules\cordova-common\src\util\xml-helpers)的Object.fs.readFileSync(fs.js:551:33)处. js:180:27)在AndroidProject.getPackageName(D:\ Projects\testApp1\platforms\android\cordova)的新AndroidManifest(D:\ Projects\testApp1\platforms\android\cordova\lib\AndroidManifest.js:29:20)\lib\AndroidProject.js:99:12)在handleInstall(C:\ Users\Rao\AppData\Roaming)的Api.addPlugin(D:\ Projects\testApp1\platforms\android\cordova\Api.js:223:57)位于C:\ Users\Rao\AppData\Roaming \npm \node_modules\cordova \node_modules\cordova-lib\plugman\install.js:357:28 at _fulfilled(C:\ Users\Rao\AppData\Roaming \npm \node_modules\cordova \node_modules\cordova-lib \node_ modules\q\q.js:787:54)at self.promiseDispatch.done(C:\ Users\Rao\AppData\Roaming \npm \node_modules\cordova \node_modules\cordova-lib \node_modules\q\q.js: 816:30)

有人可以帮忙吗?

android admob cordova phonegap

29
推荐指数
3
解决办法
3万
查看次数

除了"Hello"之外,还有什么好的Phonegap教程吗?

我想开始研究Phonegap以部署iOS和Android应用程序.我想知道除了基本的"Hello"之外是否有任何好的Phonegap教程.

android ios cordova phonegap

26
推荐指数
2
解决办法
2万
查看次数

滚动UI时,UI不会更新

我正在研究Cordova应用程序.我在哪里连接到实时传感器并从传感器读取一些数据.问题是当我滚动视图时数据被加扰.这适用于Android但不适用于iOS.

这是我的代码片段.

<div id="right_col">
   <button onclick="clearReceivedData()">Clear Received Data</button>
   <br>
   <div id="receivedData"></div>
</div>


function dataReceivedCallback(data) {
  document.getElementById("receivedData").innerHTML += data.value1 + ": ";
  document.getElementById("receivedData").innerHTML += data.value2 + ":";
  document.getElementById("receivedData").innerHTML += data.value3 + "<br>";
}
Run Code Online (Sandbox Code Playgroud)

dataReceivedCallback将从传感器接收的每个数据调用.此回调也会阻塞,直到滚动完成.如何在滚动UI时更新UI.

javascript uiwebview ios cordova phonegap

16
推荐指数
1
解决办法
639
查看次数

PouchDB的外部访问,同步错误

我正在创建一个从本地CouchDB中提取数据的应用程序.但是,当我将远程数据库URL从localhost:5984更改为我的ip:5984以便我可以从我的移动设备进行测试时,从远程设备同步时出现以下错误

{"status":0,"name":"unknown","message":"getCheckpoint rejected with ","result":{"ok":false,"start_time":"2017-08-17T11:14:48.510Z","docs_read":0,"docs_written":0,"doc_write_failures":0,"errors":[],"status":"aborting","end_time":"2017-08-17T11:14:56.314Z","last_seq":0}}
Run Code Online (Sandbox Code Playgroud)

我已经设置了CORS,将我的httpd绑定地址设置为0.0.0.0,我的内容安全策略设置为允许几乎所有内容,我觉得有点失去了如何解决这个问题,因为谷歌搜索只打了我死路一条.谢谢你的帮助.

当我尝试远程同步到任何数据库时,我在服务器日志中得到以下内容:

2017-08-22T10:59:12.194000Z couchdb@localhost <0.52.0> -------- alarm_handler: {clear,system_memory_high_watermark}
[info] 2017-08-22T10:59:26.074000Z couchdb@localhost <0.26330.0> -------- Opening index for db: shards/80000000-9fffffff/_replicator.1503391828 idx: _design/_replicator sig: "3e823c2a4383ac0c18d4e574135a5b08"
Run Code Online (Sandbox Code Playgroud)

编辑:通过我一直在尝试的所有更改和修复,重新创建系统数据库,用户,重新安装以及客户端控制台错误稍有改变的各种其他内容.CouchDB日志是相同的.这是最新的错误

{"code":"ETIMEDOUT","status":0,"result":{"ok":false,"start_time":"2017-09-04T09:19:26.309Z","docs_read":0,"docs_written":0,"doc_write_failures":0,"errors":[],"status":"aborting","end_time":"2017-09-04T09:19:36.326Z","last_seq":0}}
Run Code Online (Sandbox Code Playgroud)

javascript couchdb pouchdb phonegap

12
推荐指数
1
解决办法
322
查看次数

Phonegap是否支持根相对路径?什么是最佳做法?

在iOS上阅读带有资产的绝对路径URL的PhoneGap后,我真的很困惑, 并且有几个问题:

  • Phonegap是否支持根相对路径?例如,混合移动开发的Ionic框架在他们的样本中有这样的路径:

    <script src="//ionic/js/ionic.bundle.min.js"></script>

  • Phonegap的最佳做法是什么?

cordova ionic-framework phonegap

10
推荐指数
1
解决办法
1万
查看次数

使用Cordova File Plugin读取文件

我正在使用cordova文件插件 - cordova文件插件

我实际上是从文本文件中读取文件.以下是我的代码

document.addEventListener("deviceready", function () {  
    window.resolveLocalFileSystemURL(cordova.file.applicationDirectory + "sameple.txt", gotFile, fail);
}, true);

function gotFile(file) {           
    file.file(function (file) {                
        var reader = new FileReader();
        reader.onloadend = function (evt) {          
            console.log(this.result);
        }
        reader.readAsText(file);                
    }, fail());            
}

function fail(e) {
    console.info("FileSystem Error : " + e);
}
Run Code Online (Sandbox Code Playgroud)

因此每当我运行此代码时,我都会收到以下错误

deviceready has not fired after 5 seconds.
Channel not fired: onPluginsReady
Channel not fired: onCordovaReady

Could not get Cordova FileSystem: Error: deviceready has not fired after 5 seconds.
   "Could not get Cordova …
Run Code Online (Sandbox Code Playgroud)

javascript android filereader cordova phonegap

10
推荐指数
1
解决办法
1538
查看次数