Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

pbxProject hasFile returns false for existing file on Windows

Đang mở
#116 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
javascript
Lĩnh vực
mobile-dev

Hướng nghiên cứu

Bắt đầu với lệnh gọi project.hasFile đối với project.pbxproj được tham chiếu và tái hiện nó bằng ví dụ đa nền tảng được liên kết trên Windows, Linux và macOS. Theo dõi cách SPLASH_SCREEN_PATH được định dạng cho Windows được kiểm tra, và coi issue là hoàn tất khi phát hiện một tệp hiện có trên Windows mà không làm hỏng các nền tảng khác.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

We are running into an issue with this in our Expo CLI on Windows. After some investigation, it looks like there are some issues with Posix and Windows paths when detecting if files exists or not.

I created a repository with an example running on Ubuntu, MacOS and Windows that demonstrates this issue. The scenario it's testing is fairly simple:

const PBX_PROJECT_PATH = path.resolve('ios', 'testios2.xcodeproj', 'project.pbxproj');
const SPLASH_SCREEN_PATH = path.join('testios2', 'SplashScreen.storyboard');

// Create a new pbx project instance
const project = xcode.project(PBX_PROJECT_PATH);
// Now parse the project
project.parseSync();

// Determine if "SplashScreen.storyboard" exists
const file = project.hasFile(SPLASH_SCREEN_PATH);

You see that this is done successfully on both Linux and MacOS, but fails on Windows.

There is a workaround, you have to force the SPLASH_SCREEN_PATH to always be a posix formatted path. That works on Linux, MacOS, and Windows.

const SPLASH_SCREEN_PATH = path.join('testios2', 'SplashScreen.storyboard')
    // Force the path to always be a posix formatted path
    .replace(path.sep, path.posix.sep);
Ngôn ngữ chính
JavaScript
Star
217
Fork
102
Merge trung bình
2 ngày 9 giờ
Pull request đã merge (30 ngày)
8

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của apache/cordova-node-xcode

Tất cả issue của apache/cordova-node-xcode

Issue tương tự

Thêm issue về JavaScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.