Search Issue Tracker
Fixed in 2021.2.X
Fixed in 2021.1.X
Votes
9
Found in
2018.2.4f1
Issue ID
1071993
Regression
No
[iOS] "MapFileParser.sh: Permission denied" when building Xcode project built from Windows directly to a macOS shared folder
Reproduction steps:
1. Build an empty iOS project from a Windows machine directly to a shared macOS folder.
- Use build pipeline script to build the project (Default builder in the Build Settings doesn't work for the network builds). You can check the attached script, named 't.cs' as a reference.
- Make sure macOS shared folder is configured to be accessed from a Windows machine.
2. Open and try to build the built Xcode project.
Actual behavior:
- Build fails with "MapFileParser.sh: Permission denied" error message.
-
rawlypete
Dec 08, 2021 10:52
I encountered this Error for the first time yesterday. I'm still using 2020.3 as my production build. The manifestation is slightly different, perhaps someone could explain it. It's not a show stopper as I only uncovered it when finally being invited into Apples XCode Cloud Beta, and so for the first time I needed to push my iOS build folder into Bitbucket, as XCode Cloud requires a repository.
My Normal Workflow Steps into XCode:
1) Master my Project on Windows 10 in Unit 2020.3.
2) When testing for iOS, Build it into a folder on PC.
3) On Mac I copy the entire folder from the PC to Mac
4) Open the Project in XCode, and everything 'Builds' without an Errors.Workflow I used yesterday when using a Bit Bucket Repository for testing out XCode Cloud:
1) Master my Project on Windows 10 in Unit 2020.3.
2) When testing for iOS, Build it into a folder on PC.
3) From PC, upload my build iOS Folder into Bitbucket repository.
4) From XCode using "Clone an Existing Project" - select the Bitbucket as above and when building Error:"MapFileParser.sh: Permission Denied...... etc...."
I'm sure the workaround above will work on my local Mac, although not sure how this will affect the XCode Cloud Workflow as I've not got that far yet, and I'm guessing it relies on the original repository to work.
-
krupps
Jun 06, 2021 15:35
This is not fixed with the latest LTS
-
MaskedMouse
Oct 12, 2018 07:19
This issue has been there for ages. You can fix it by using chmod +x /path/to/MapFileParser via the terminal.
We've made an automator task for this so we can just right click the folder and let it use chmod on all .sh files.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- “Readme” Asset is unreadable in the Inspector window when switching Editor Theme to Light
- “NullReferenceException” error thrown when switching Editor Theme to Light if “Unity Version Control” tab is enabled
- A Warning is displayed in the Inspector when a Mesh with any Material is added as a Terrain Detail
- [Android][Vulkan] Memory leak when playing and stopping a video using the Video Player on some devices
- Caret moves by a character when typing "." and any number into 'Grid and Snap' toolbar's input field
Resolution Note (fix version 2021.2):
MapFileParser will be removed from 2021.1+ version
For earlier versions:
By default SMB configuration on Mac device does not allow to set an executable flag for security reasons.
One way to work around this is to make Xcode to set it for you.
Open generated Xcode project go to UnityFramework target / Build Phases / Run Script
at line 1 add: chmod +x "$PROJECT_DIR/MapFileParser.sh"
line 2 of what it was on line 1: "$PROJECT_DIR/MapFileParser.sh"
you can do it:
- manually
- with BuildPostProcessor via PBXProject API
- or if you want to make this change for all iOS/tvOS generated projects change Unity-iPhone.xcodeproj in your Unity Editor installation for iOS/tvOS platform support modules Trampoline folder
p.s. In order to build directly to Mac shared folder you can Map Network Drive on windows and use it as target to Generate Xcode project.