NativeScript / NativeScript/nativescript-cli
tns run ios fails on case-sensitive filesystem on macOS (possible typo)
还没有人认领这个 Issue。
- 主要语言
- JavaScript
- 星标
- 1.1k
- 派生
- 204
- 平均合并
- 1 天 9 小时
- 30 天内合并 PR
- 8
描述
Dear friend, we, the rest of the NativeScript community really
appreciate your feedback! While we are doing all we can to take care of every
issue, sometimes we get overwhelmed. Because of that, we will consider issues
that are not constructive or problems that cannot be reproduced "dead".
Additionally, we will treat feature requests or bug reports with unanswered
questions regarding the behavior/reproduction for more than 20 days "dead". All
"dead" issues will get closed.
Please, provide the details below:
When executing tns run ios, there are two subdirectories being created under platforms, called ios and iOS. The ios subdirectory contains most of the files, but the iOS (note the upper-case here) contains nativescript/nativescript.entitlements file.
Most probably somewhere in the code, the CLI is referring to ios and iOS directories with two different cases (upper and lower case). The issue will manifest itself only on macOS with drives partitioned with a case-sensitive filesystem.
This issue probably escaped since typically macOS partitions are not case-sensitive, and in case-sensitive filesystems prevalent on *nix people don't use tns run ios.
Here is the output from tns run ios:
Project successfully prepared (iOS)
Executing after-prepare hook from /Users/.../nativescript/hooks/after-prepare/nativescript-dev-sass.js
All SASS source files removed from app package
Building project...
Build settings from command line:
ARCHS = i386 x86_64
CODE_SIGN_IDENTITY =
CONFIGURATION_BUILD_DIR = /Users/.../nativescript/platforms/ios/build/emulator
ONLY_ACTIVE_ARCH = NO
SDKROOT = iphonesimulator10.3
SHARED_PRECOMPS_DIR = /Users/.../nativescript/platforms/ios/build/sharedpch
VALID_ARCHS = i386 x86_64
=== BUILD TARGET nativescript OF PROJECT nativescript WITH CONFIGURATION Debug ===
Check dependencies
ProcessProductPackaging "" build/nativescript.build/Debug-iphonesimulator/nativescript.build/nativescript.app.xcent
cd /Users/.../nativescript/platforms/ios
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Users/.../nativescript/node_modules/.bin"
builtin-productPackagingUtility -entitlements -format xml -o /Users/.../nativescript/platforms/ios/build/nativescript.build/Debug-iphonesimulator/nativescript.build/nativescript.app.xcent
warning: Falling back to contents of entitlements file "nativescript.entitlements" because it was modified during the build process. Modifying the entitlements file during the build is unsupported.error: The file “nativescript.entitlements” couldn’t be opened because there is no such file.
Did you verify this is a real problem by searching Stack Overflow and the other open issues in this repo?
Yes
Tell us about the problem
Please, ensure your title is less than 63 characters long and starts with a capital
letter.
Error on tns run ios on case-sensitive macOS filesystem
Which platform(s) does your issue occur on?
iOS
Please provide the following version numbers that your issue occurs with:
-
CLI: (run
tns --versionto fetch it)
3.1.3 -
Cross-platform modules: (check the 'version' attribute in the
node_modules/tns-core-modules/package.jsonfile in your project)
"tns-core-modules": "3.1.1",
"tns-core-modules-widgets": "3.1.1"
"@types/node": "~7.0.5", -
Runtime(s): (look for the
"tns-android"and"tns-ios"properties in the
package.jsonfile of your project)
"tns-ios": {
"version": "3.1.0"
},
"tns-android": {
"version": "3.1.1"
} -
Plugin(s): (look for the version number in the
package.jsonfile of your
project)
Please tell us how to recreate the issue in as much detail as possible.
Execute tns run ios on a case-sensitive macOS partition.
Is there code involved? If so, please share the minimal amount of code needed to recreate the problem.
No.
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
在区分大小写的 macOS 分区上复现 tns run ios,并检查生成的 platforms/ios 和 platforms/iOS 目录。跟踪 CLI 在何处创建或引用这些目录,并确认 entitlements 文件使用一致的大小写;完成标准是该命令在没有缺少文件错误的情况下执行完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- ios, javascript
- 领域
- cli, mobile-dev
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100