pbxProject hasFile returns false for existing file on Windows
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript
- Área
- mobile-dev
Línea de trabajo
Comienza con la llamada a project.hasFile contra el project.pbxproj referenciado y reprodúcela usando el ejemplo multiplataforma vinculado en Windows, Linux y macOS. Sigue cómo se comprueba el SPLASH_SCREEN_PATH con formato de Windows y considera que el issue está resuelto cuando se detecte un archivo existente en Windows sin romper las otras plataformas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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);
- Lenguaje dominante
- JavaScript
- Estrellas
- 217
- Forks
- 102
- Merge medio
- 2 d 9 h
- PR fusionados (30 d)
- 8
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/cordova-node-xcode
-
Add & Improve JSDocs Abiertoenhancement
apache/cordova-node-xcode#171 · 1 asignado ·
-
🔖 New release Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
apache/cordova-node-xcode#162 · 4 comentarios · 2 reacciones ·
-
Install .xcframework Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 28/100
apache/cordova-node-xcode#139 · 2 comentarios ·
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
apache/cordova-node-xcode#138 · 2 comentarios ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
apache/cordova-node-xcode#137 · 2 reacciones ·
Todos los issues de apache/cordova-node-xcode
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Theme loads third-party resources on every page (jsdelivr web font, cdnjs Font Awesome) – GDPR Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
docToolchain/docToolchain#1705 ·
-
Timezone select lists one option per character; duplicate "Failed" reason; shared tracker popover id Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
nightscout/nocturne#1414 ·
-
bug v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
modelcontextprotocol/inspector#2458 · 1 comentario ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
carbon-design-system/ibm-products#9907 ·