I have started to use iCloud Drive to persist my files between two Macbooks I work on (MacbookA and MacbookB). iCloud creates a clone of my Desktop on both computers that are configured with iCloud. So on MacbookB I've got the path /Users/<ME>/Desktop/Desktop - MacbookA and /Users/<ME>/Desktop/Desktop - MacbookB.
I moved an Xcode project to /Users/<ME>/Desktop/Desktop - MacbookA and am now failing to build with the error - `/Users//Library/Developer/Xcode/DerivedData/-ffucveeerdkfefbhdxktyzhzcsko/Build/Intermediates/.build/Debug-iphonesimulator/.build/Script-BECCC6851D2428FD0068813F.sh: line 2: /Users//Desktop/Desktop: No such file or directory
I'm unable to make sense of this. The script seems to be an Xcode script and not a custom one. Has anyone experienced this problem?
`
Related
I delete my unity project which has a .git folder and ask me to create an encryption key I don't know why it asks me to do that, now when I try to add files in git it refuses to add any things and it prompts this error
The file will have its original line endings in your working directory
error: open("Temp/UnityLockfile"): Permission denied
error: unable to index file 'Temp/UnityLockfile'
fatal: adding files failed
Any suggestion
In general the Temp folder is one of the things you do NOT want to be under version control! It should be ignored as mentioned by the first comment! Use this .gitignore file in the root folder of your git project!
Also see Cleaning up and Migrating existing Unity project into new one or another PC where I explained it a bit more in detail and also how to copy your project with only the necessary files.
As said if there is no such file yet simply create it, otherwise adopt the content accordingly.
Also refer to How can I make Git "forget" about a file that was tracked, but is now in .gitignore?.
In your specific case here the error itself is caused because you currently have your project opened in Unity.
In that case there is the - as the name says - LOCK file which ensures you cannot open the same project twice in a second Unity instance.
This file is locked/owned by the Unity Editor process itself and therefore can't be overwritten/accessed by git at the same time.
Now if for some reason after adding the .gitignore file mentioned above this issue still persists you can close Unity, manually delete the Temp folder, make your git merge and reopen Unity.
After upgrading to the latest versions of Visual Studio for Mac, Xamarin, and Xcode, I am unable to create a signed IPA archive. Everything runs on the simulator, everything builds fine in my release configuration. I can even create the archive just fine. But after I click "Sign and Distribute", regardless of whether I try to publish to the App Store or simply save the IPA to disk, I get the extremely generic "Failed to create IPA archive" message with no other detail about what failed.
As always with these types of problems, this worked the last time I tried to publish (2 months ago). Even trying to use "Sign and Distribute" on an archive I previously published successfully to the App Store fails with the same message. Are there any logs for this where I can see exactly what is failing? The Archive output window at the bottom of the screen doesn't show activity for this stage of the process.
UPDATE:
After finding the logs, was able to see the following error that shows that for some reason after upgrading the apps, permissions were somehow lost for creating the zip archive:
zip -r -y "/Applications/Xcode.app/MyApp.ipa" Payload
zip I/O error: Permission denied
zip error: Could not create output file (/Applications/Xcode.app/MyApp.ipa)
zip exited with code 15
ERROR:Failed to create IPA archive.
Finshed
So now the question becomes why, and what steps need to be taken to fix this the proper way (i.e., not just brute-forcing broad permissions)?
Are there any logs for this where I can see exactly what is failing?
To find Mac logs through:
You can select the Go > Go to Folder menu item in Finder, and then copy and paste any of these paths into the dialog.
Visual Studio for Mac
~/Library/Logs/VisualStudio/7.0 (this number may change depending on
the version you are using)
This folder can also be opened via "Help -> Open Log Directory".
If you meet the Permission denied error in the log, this may be due to saving the IPA in the XCode.App folder. You can try a different location.
If you still meet problem, you can send a feed back inside visual studio for more help.
It's very likely due to permission issue while zipping the archive.
To check if it's your case:
Open the log folder at ~/Library/Logs/VisualStudio/7.0 or in Visual Studio for Mac Help > Open Log Directory
Find and open the last log file for publishing (like Publishing.yyyy-mm-dd__hh-mm-ss.log)
Scroll to the last rows of that file. If it contains something like this (see the block below) so it's your case
zip I/O error: Permission denied
zip error: Could not create output file (/Applications/Xcode.app/YourApp.ipa)
zip exited with code 15
ERROR:Failed to create IPA archive.
Finished
In this case, once you see Output IPA file popup, just choose other save location (Desktop for example)
I'm trying to create a new library using v 8.1.0 of the Angular Console on Windows. The error I get is "ENOENT: no such file or directory, mkdir "c:\path\to\my\workspace\libs\new_library_name"
"c:\path\to\my\workspace\libs" exists already
new_library_name folder should be created by Angular Console
The command run by the console is ng generate #nrwl/angular:library new_library_name.
I've tried different names/paths, running as administrator, running inside VSCode and in the standalone console. No luck with anything. This used to work.
Also, if I create the folder c:\path\to\my\workspace\libs\new_library_name and then run the console again, I get an error ENOENT: no such file or directory c:\path\to\my\workspace\libs\new_library_name\ReadMe.md. Of course the ReadMe doesn't exist - it needs to be created by the console.
What am I doing wrong or where to look?
Problem solved. I had turned on Controlled Folder Access in Windows 10 and mistakenly included my project folder as a controlled folder, which prevented applications (Angular Console, Yarn, etc) from writing to the folder. Removed it from Controlled Access and all is working again.
I installed Xcode 10 Beta 6 and I am updating everything and in this process I have run into a small issue with Fabric. Fabric's website has special instructions for Xcode 10 that says:
When I am in Xcode 10 I go to Build Phases an on the Run Script that has my Fabric key there is a + sign under the section Input Fields
When I click the + it automatically generates $(SRCROOT)/newInputFile where newInputFile is automatically highlighted.
I'm not understanding Fabric's instructions. Do I copy the $(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH) after $(SRCROOT)/ Do I replace INFOPLIST_PATH with the file path to my info.plist?
I've tried all these options but Fabric is still crashing in Xcode 10. I know it is Fabric because I've commented out Fabric.with([Crashlytics.self]) in my App Delegate's didFinishLaunchingWithOptions
For Xcode 10 only, user's who face issue in final setup of fabric is your project.
From Xcode 10 you need to make one more setup in Build Phase's Input Files field.
Simply You need to copy this $(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH) and paste to Build Phase's Input Files field under Run Script as display in below image.
Read more on this link : https://fabric.io/kits/ios/crashlytics/install
I had same problem, if your info.plist is in your root directory like this:
yo should change $(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH) like this:
I did exactly what was recommend by Mahdi RB. Also followed the steps on official manual guide, didn't work.
When I build using XCode I see it processes about 2k tasks. The fabric builds usually works when I start the machine, open xcode and execute archive. After that the build starts to break most of the time. I'm using the latest fabric & crashlytics downloaded on 03/OCT/18. It's really weird as it works for my other projects, it's just this one that fails. This started with XCode 10 - Version 10.0 (10A255). It was working with previous XCode 9.
This is some proof of what I'm talking:
My workaround was to add this command before calling the fabric command. E.g
sleep 15
"${PROJECT_DIR}/Fabric.framework/run" aaaaa aaaa
I noticed on my mac console app loads of this error, not sure if it's related:
IBAgent-iOS - assertion failed - libxpc.dylib - and some numbers here.
Error on XCode
2018-10-03 13:53:58.698 uploadDSYM[46168:550157] Fabric.framework/run 1.7.2 (210)
2018-10-03 13:53:58.704 uploadDSYM[46168:550157] Using API Key: "123"
2018-10-03 13:53:58.704 uploadDSYM[46168:550157] Launched uploader in validation mode
error: Fabric: Info.plist Error
Unable to process Info.plist at path /Users/someuser/Library/Developer/Xcode/DerivedData/SampleApp-amwweapikvrbgafmmnyeyorkiufq/Build/Intermediates.noindex/ArchiveIntermediates/SampleApp/BuildProductsPath/Release-iphoneos/SampleApp.app/Info.plist
This could be a timing issue, make sure the Fabric run script build phase is the last build phase and no other scripts have moved Inspector.app from the location Xcode generated it. You can also add '$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)' as an "Input Files" dependency for your Fabric run script build phase.
I tried to open that plist link, it points to a shortcut, and that shortcut points to a real file. Not sure why that is failing. My guess it has something to do with files not being present at the time the script is executed. The delay fixes the issue. I hope this can help.
I removed the original app names for privacy.
fabric info.plist error can be solved by changing the Xcode workspace settings-->build settings--> legacy build system
Go into Build settings of the your target. Find "Debug Information Format". Set this from "DWARF" in both debug and release to "DWARF with dSYM File"
source
I solved this issue by moving the "Run Script" to the bottom of the build phases. Of course I changed to "DWARF with dSYM File" and $(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH).
Add script run phase at end of build phases.
Set Shell for script phase to /bin/bash.
Set input files to:
(1) $(PROJECT_DIR)/$(INFOPLIST_FILE).
(2) $(PROJECT_DIR)/Scripts/set_bundle_build_number.sh
Change path to path of script so changes you make to the script
cause a re-run.
(3) $(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)
Fixes XCode 10 issues of duplicate output phases.
Check image for more reference
The solution for me was to replace the round brackets with curly brackets like this
${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}
You can check if the path actually exists if you call echo $(BUILT_PRODUCTS_DIR) in the script phase. Using round brackets gave me following info in the Xcode build console "BUILT_PRODUCTS_DIR: command not found"
Replacing the round brackets with curly brackets will print the actuall path and therefore the script finally worked for me.
None of the above works for me. If someone using Cocoapods, do these steps.
Add $(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH) to Input Files on Run Script section.
Replace ./Fabric.framework/run to "${PODS_ROOT}/Fabric/run" in Run Script box.
Go to Build Settings, search for Debug Information, Change it to DWARF with dSYM File.
It worked for me, at least.
For me changing the build system to "Legacy Build system" fixed the archiving error.
To change the build system go to File -> Workspace Settings, and change the build system from default "New Build system" to "Legacy Build system".
Trying to incorporate Continuous Integration into my Xcode builds.
I have setup OS X Server on my MacBook and everything seems to work fine except for the actual submit/upload script for Crashlytics.
I am getting this error in the 'Trigger' log:
/var/folders/1d/5y5tn0hd1qj01wbxgd3sxrs4000086/T/EFFB7FF5-CFF5-41CF-8AEB-D8813069D831-16127-000004A29A1D79A7: line 2: /Crashlytics.framework/submit: No such file or directory
Couple things to note:
I am able to manually archive/distribute my builds through Crashlytics without any problems.
Crashlytics is installed via PODS and my Run Script looks like this (with my real keys obviously):
${PODS_ROOT}/Crashlytics.framework/submit MYAPIKEY MYCLIENTKEY -emails myEmail#myEmail.com -notesPath ~/Notes/ReleaseNotes.txt -groupAliases myGroupAlias -notifications YES
${PODS_ROOT} is not available to the post trigger action.
You should use
${XCS_SOURCE_DIR}/*RepoName*/Pods/Crashlytics/Crashlytics.framework/submit etc
Where *RepoName* is the name of your repo. Sadly, I haven't been able to find a env variable for it or something.