App name with Multibytes characters in config.xml hangs forever

未关闭
#78 4 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
nodejs, typescript
领域
cli, mobile-dev

调研方向

在 config.xml 中使用多字节 重现该故障,并根据报告的堆栈跟踪检查 node-ioslib/dist/client/afc.js,尤其是 toCString 和 makeDirectory。将其行为与 ASCII 应用名称进行比较,并使用中文、日文或印地语名称成功运行 native-run,以确认修复有效。

由索引模型根据 Issue 内容生成。

描述

ios

Version:

0.2.8

Description:

App display name with multi-bytes charactesr in config.xml effect native-run hung forever

[ config.xml ]

multi-bytes name such as below result in hung forever...
<name>我的程式</name>
<name>私のプログラム</name>
<name>मेरा कार्यक्रम</name>

Command Output:

forever hangs, error messages:
1,121,62,87,105,70,105,77,65,67,65,100,100,114,101,115,115,60,47,107,101,121,62,10,9,60,115,116,114,105,110,103,62,54,56,58,100,98,58,99,97,58,55,53,58,57,55,58,52,97,60,47,115,116,114,105,110,103,62,10,60,47,100,105,99,116,62,10,60,47,112,108,105,115,116,62,10]}}
[native-run] RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 55. Received 56
[native-run] at boundsError (internal/buffer.js:49:9)
[native-run] at writeU_Int8 (internal/buffer.js:558:5)
[native-run] at Buffer.writeUInt8 (internal/buffer.js:565:10)
[native-run] at toCString (/usr/local/lib/node_modules/native-run/node_modules/node-ioslib/dist/client/afc.js:150:9)
[native-run] at AFCClient.makeDirectory (/usr/local/lib/node_modules/native-run/node_modules/node-ioslib/dist/client/afc.js:84:19)
[native-run] at uploadDir (/usr/local/lib/node_modules/native-run/node_modules/node-ioslib/dist/client/afc.js:102:41)
[native-run] at AFCClient.uploadDirectory (/usr/local/lib/node_modules/native-run/node_modules/node-ioslib/dist/client/afc.js:95:22)
[native-run] at process._tickCallback (internal/process/next_tick.js:68:7)

Instead, running WITHOUT native-run is ok
$ ionic cordova run ios --no-native-run
running WITH ASCII app name is ok too

<name>myApp</name>

Environment Info:

Ionic:

Ionic CLI : 5.2.8 (/usr/local/lib/node_modules/ionic)
Ionic Framework : @ionic/angular 4.9.0
@angular-devkit/build-angular : 0.13.9
@angular-devkit/schematics : 7.3.9
@angular/cli : 7.3.9
@ionic/angular-toolkit : 1.5.1

Cordova:

Cordova CLI : 8.1.2 ([email protected])
Cordova Platforms : android 8.0.0, ios 4.5.5
Cordova Plugins : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.1.1, (and 27 other plugins)

Utility:

cordova-res : 0.6.0
native-run : 0.2.8

System:

Android SDK Tools : 26.1.1 (/Users/avex/Library/Android/sdk)
ios-deploy : 1.9.4
ios-sim : 8.0.1
NodeJS : v10.15.3 (/usr/local/bin/node)
npm : 6.11.3
OS : macOS Mojave
Xcode : Xcode 10.2 Build version 10E125

macOS version:
10.14.4

Xcode version:
10.2

主要语言
TypeScript
星标
141
派生
35
PR 合并指标
30 天内没有已合并 PR

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

ionic-team/native-run 的其他 Issue

查看 ionic-team/native-run 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。