johnno1962 / InjectionIII

Re-write of Injection for Xcode in (mostly) Swift
MIT License
3.96k stars 312 forks source link

Could not locate compile command #417

Closed shinichy closed 1 year ago

shinichy commented 1 year ago

Hi, I'm trying to run InjectionIII, but I can't make it work in my iOS UIKit project. I keep getting Could not locate compile command error. I tried cleaning and rebuilding, but it didn't work. I checked that Whole Module Optimization is turned off. It would be great if I could borrow someone's help. Thanks.

💉 ⚠️ Could not locate compile command for /Users/shinichikatayama/ghq/github.com/ExploramedNC7/willow-ios-gen2s/Willow/Willow/Help/HelpViewController.swift.
This could be due to one of the following:
1. Injection does not work with Whole Module Optimization.
2. There are restrictions on characters allowed in paths.
3. File paths in the simulator are case sensitive.
4. The modified source file is not in the current project.
5. The source file is an XCTest that has not been run yet.
Try a build clean then rebuild to make logs available or
consult: "/Users/shinichikatayama/Library/Developer/CoreSimulator/Devices/91EAB1A4-F45C-43FC-A0CB-5537FCC81750/data/Containers/Data/Application/CD21982E-3F34-4ED6-BDFD-CAA4F33A300F/tmp/command.sh".

The content of the command.sh.

❯ cat /Users/shinichikatayama/Library/Developer/CoreSimulator/Devices/91EAB1A4-F45C-43FC-A0CB-5537FCC81750/data/Containers/Data/Application/CD21982E-3F34-4ED6-BDFD-CAA4F33A300F/tmp/command.sh
# search through build logs, most recent first
cd "/Users/shinichikatayama/Library/Developer/Xcode/DerivedData/Willow-fejpcchmllftwnfisuhvzbtspwue/Logs/Build" &&
for log in `ls -t *.xcactivitylog`; do
    #echo "Scanning $log"
    /usr/bin/env perl "/Users/shinichikatayama/Library/Developer/CoreSimulator/Devices/91EAB1A4-F45C-43FC-A0CB-5537FCC81750/data/Containers/Data/Application/CD21982E-3F34-4ED6-BDFD-CAA4F33A300F/tmp/eval101.pl" "$log"     >"/Users/shinichikatayama/Library/Developer/CoreSimulator/Devices/91EAB1A4-F45C-43FC-A0CB-5537FCC81750/data/Containers/Data/Application/CD21982E-3F34-4ED6-BDFD-CAA4F33A300F/tmp/eval101.sh" 2>"/Users/shinichikatayama/Library/Developer/CoreSimulator/Devices/91EAB1A4-F45C-43FC-A0CB-5537FCC81750/data/Containers/Data/Application/CD21982E-3F34-4ED6-BDFD-CAA4F33A300F/tmp/eval101.err" && exit 0
done
exit 1;%

When I run the command.sh, it fails with the following error.

❯ bash /Users/shinichikatayama/Library/Developer/CoreSimulator/Devices/91EAB1A4-F45C-43FC-A0CB-5537FCC81750/data/Containers/Data/Application/CD21982E-3F34-4ED6-BDFD-CAA4F33A300F/tmp/command.sh
ls: *.xcactivitylog: No such file or directory

There's no xcactivitylog file in the directory. Is this an issue?

❯ ls /Users/shinichikatayama/Library/Developer/Xcode/DerivedData/Willow-fejpcchmllftwnfisuhvzbtspwue/Logs/Build
LogStoreManifest.plist

My environment.

I confirmed that the Getting Started project works. So I'll try to check what prevents me from using InjectionIII.

johnno1962 commented 1 year ago

Thanks, your analysis is very helpful. This may be something new to Xcode 14 or changes to the build system. Are you able to tell me what the fle /Users/shinichikatayama/Library/Developer/Xcode/DerivedData/Willow-fejpcchmllftwnfisuhvzbtspwue/Logs/Build/LogStoreManifest.plist contains or send it to me at github at johnholdsworth.com ? you should be able to "open" it in Xcode. There are no other files in that directory?

shinichy commented 1 year ago

Sure. The content is below. And that's the only file in the directory.

❯ cat /Users/shinichikatayama/Library/Developer/Xcode/DerivedData/Willow-fejpcchmllftwnfisuhvzbtspwue/Logs/Build/LogStoreManifest.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>logFormatVersion</key>
    <integer>10</integer>
    <key>logs</key>
    <dict/>
</dict>
</plist>
johnno1962 commented 1 year ago

Interesting, that's not very useful at all about where the missing logs have gone! I notice, like the other times we've seen a similar problem you're running quite an old simulator OS. Is it possible to change the targeted iOS version to something more recent and see if that works? Otherwise I can take a look if you have, for example TeamView or hangouts.

johnno1962 commented 1 year ago

Could you run this command?


find /Users/shinichikatayama/Library/Developer/Xcode/DerivedData/Willow-fejpcchmllftwnfisuhvzbtspwue -name '*.xcactivitylog' -print
shinichy commented 1 year ago

find /Users/shinichikatayama/Library/Developer/Xcode/DerivedData/Willow-fejpcchmllftwnfisuhvzbtspwue -name '*.xcactivitylog' -print doesn't output anything.

Surprisingly, it starts working well after I restart Xcode. I have no idea... Anyway, thanks for helping me! I'll reopen this issue when I hit this again.

johnno1962 commented 1 year ago

Thanks for getting back, good that you're up and running. Newer versions of Xcode are more proactive about removing build logs and it seems you can get into a situation where your app runs but there are no build logs for Injection to use to work out how to recompile the updated source file. You should be able to get out of this state by making a change to a file to force a build and re-run.

Thanks also for opening this issue. It promoted me to go back and finally work out what was the cause (simulator < iOS14 on M1 Mac) of the other two issues I mentioned. I tightened up the code and put in new warnings to provide a hint for users when things are failing and rolled a new 4.4.1 release.

cjwirth commented 1 year ago

I'm still experiencing this using HotReloading 4.5.3. Based on an issue over there that links here, it seems like it supposedly happens:

occurs when you use a simulator < iOS14 on an M1/2 due to these simulators not having arm architecture available

I'm on an M1 Mac running on an iOS 16 simulator on Xcode 14, but I'm still getting this same error. Now, I was having some other issues with our dependencies not supporting the arm64 simulator -- I tried a few things like running with Rosetta and all, but I eventually just removed those and should be using the arm64 simulator like normal.

Following your instructions above, I am getting logs, and there does seem to be more information in the log store manifest.

Log files in Derived Data ``` caesar at caesar-macbook-pro in ~/Library/Developer/Xcode/DerivedData/MyApp-czhykqicsjtfrjgwdilqryuwjfyq > find . -name '*.xcactivitylog' -print ./Logs/Notices/FBDF2FC9-423E-499E-91F8-7AF0666BC74A.xcactivitylog ./Logs/Notices/61FD6B41-6C71-4DC9-BE3A-4848E634717E.xcactivitylog ./Logs/Notices/06457D16-E860-427D-A42A-E5A83642391F.xcactivitylog ./Logs/Notices/87F9BEA2-06B9-4F3E-9674-3C7DA0864333.xcactivitylog ./Logs/Notices/D24EE46F-5908-4CF2-A28D-59EA0491F134.xcactivitylog ./Logs/Notices/A91640CF-1B90-4C46-A8FB-1549175A8AED.xcactivitylog ./Logs/Notices/1F7C0C97-0FDA-4355-8FD9-DB4923CFA1D7.xcactivitylog ./Logs/Notices/56043BD2-22BF-47B3-9CFB-64CFAD416805.xcactivitylog ./Logs/Notices/F5BA73C5-BE94-4FF4-B891-1E5357A8B5CB.xcactivitylog ./Logs/Notices/FD3DEBB3-D612-48D6-B18D-AF97D636BB64.xcactivitylog ./Logs/Notices/C6785313-247E-4864-AB20-19517155101E.xcactivitylog ./Logs/Notices/E8458DA3-49A2-4409-BFBE-E34653113EE4.xcactivitylog ./Logs/Notices/29BA34DE-8904-471C-B849-5D27EF92B958.xcactivitylog ./Logs/Notices/25915FE1-8772-4FE8-9A1A-E87A509F57C9.xcactivitylog ./Logs/Notices/2B5AF949-0C75-42B6-818B-CB414DBC9FBE.xcactivitylog ./Logs/Notices/8CC952D4-4285-4DEB-99D9-424829F876BB.xcactivitylog ./Logs/Notices/C9C1312E-4B21-4E67-B918-EC73C5025DFF.xcactivitylog ./Logs/Notices/BF397AA3-6871-4167-9704-4CDE0B8EA6D1.xcactivitylog ./Logs/Notices/525D9FEA-8DC9-409A-A39B-E9E4F40F919A.xcactivitylog ./Logs/Notices/384DFE14-D3FA-4D2C-9964-CBBCE033B4C7.xcactivitylog ./Logs/Notices/9E833A87-1DC4-49F2-9F94-4AB01EA20F06.xcactivitylog ./Logs/Notices/3E2E82F0-1E22-4BC4-9AA0-9B0A22702438.xcactivitylog ./Logs/Notices/FDAF9584-1321-4BAF-BA2E-B1FC97739F85.xcactivitylog ./Logs/Notices/337EDBD5-C6CB-4B15-B783-81112DE7167D.xcactivitylog ./Logs/Notices/C5B77250-429C-4168-B11A-43CD1F79690C.xcactivitylog ./Logs/Notices/0E4C4252-7439-47A4-9ECC-4FA3C3C29EB8.xcactivitylog ./Logs/Notices/B8FA5574-5107-4805-AF83-30FD31F34DD5.xcactivitylog ./Logs/Notices/A2295BCA-C701-4B7B-8F5F-AFB842FB553D.xcactivitylog ./Logs/Notices/6F535775-B156-4F94-8411-56C90D6B16EC.xcactivitylog ./Logs/Notices/C600EAA7-BD38-45D6-88C0-683E16489A3B.xcactivitylog ./Logs/Notices/7505179A-D078-4E35-AAF0-C167EA6D130E.xcactivitylog ./Logs/Notices/981DE96D-00CA-433D-A710-0CF38F32D2CD.xcactivitylog ./Logs/Notices/488D8D2F-8A7F-4CA1-ABD0-7F948313B6E9.xcactivitylog ./Logs/Notices/66B57988-ADD4-43CD-96B4-BA0999DDFC3B.xcactivitylog ./Logs/Notices/7128810B-0230-4AD5-A0A9-35015AF04E1C.xcactivitylog ./Logs/Notices/9C150668-6179-49A2-935A-B6E0F066EAB8.xcactivitylog ./Logs/Notices/6962066F-DD32-4A8A-957F-BE7D8A2E050D.xcactivitylog ./Logs/Notices/503C3B58-9928-4A04-B9C8-686D1BBFDB09.xcactivitylog ./Logs/Notices/376C74E3-7159-4C46-8970-CA6BCA48AAC9.xcactivitylog ./Logs/Notices/AF903413-5809-41FD-A591-3B25699F9EF9.xcactivitylog ./Logs/Notices/85CFEED3-7E39-46F8-95A9-963EDCF362F8.xcactivitylog ./Logs/Notices/E223B464-DD79-42CA-AF29-6E4CD94834A8.xcactivitylog ./Logs/Notices/BEEA32D2-92E6-4EE1-99F3-C808CC2E59E4.xcactivitylog ./Logs/Notices/D7C61F38-48D6-4FA3-AD7B-AE62ABDA21BD.xcactivitylog ./Logs/Notices/01A710E1-2987-42AC-A98F-9511C7A592E2.xcactivitylog ./Logs/Notices/74F666DA-7C3F-405A-B225-AA71237305B8.xcactivitylog ./Logs/Notices/BE72D509-300B-4AFA-9F65-7FADF5DE30D1.xcactivitylog ./Logs/Notices/C3570847-D132-4403-90E7-4D00C5AC0C39.xcactivitylog ./Logs/Notices/54B1D274-9087-467C-9FD3-2CB57BA36C9C.xcactivitylog ./Logs/Notices/7707A409-A0D0-431F-9166-7D2C0CEA59AE.xcactivitylog ./Logs/Notices/4361F504-98CC-4177-96AF-D18AC2857D61.xcactivitylog ./Logs/Notices/9D98F98A-3D83-4E3F-9028-AE9792E7AF84.xcactivitylog ./Logs/Notices/1FA78970-5CBB-43D4-90D0-F9E5BF945CCC.xcactivitylog ./Logs/Notices/6F57CFE7-0027-4619-9005-C4BAF94D596F.xcactivitylog ./Logs/Notices/6DD8212B-FD29-467A-8F45-070D6A00D0BA.xcactivitylog ./Logs/Notices/8749070E-ECF4-45C3-A27F-F339448C7DDE.xcactivitylog ./Logs/Notices/50863C15-D7A0-4F2F-8F60-D993AAC27166.xcactivitylog ./Logs/Notices/DF77A33D-7196-4B59-80E7-FAC99D7C82D3.xcactivitylog ./Logs/Notices/DC29BE6E-1D1E-40C8-9AF9-825ACB3F5ED3.xcactivitylog ./Logs/Notices/699297A3-4FAD-4485-B4AE-0160982CDD1B.xcactivitylog ./Logs/Notices/FA5AB65D-1AC3-4EE4-9940-0064D7E6F5AE.xcactivitylog ./Logs/Notices/8170DA00-1AF6-4C95-83F3-43CD20023B73.xcactivitylog ./Logs/Notices/3747F59B-1588-4AEE-B810-F2342AE279C0.xcactivitylog ./Logs/Notices/420F6936-2E1A-4A57-98EA-A407352B0763.xcactivitylog ./Logs/Notices/1639D65B-AB92-4F64-AF4A-E431C49D6AC4.xcactivitylog ./Logs/Notices/8BD96423-25D0-405D-BCD8-4D080A3AAA46.xcactivitylog ./Logs/Notices/7DE8CCD1-BEBF-457A-A746-88959A66F94B.xcactivitylog ./Logs/Notices/AD1ADE04-02D5-420D-86AC-1CDEF0EEE897.xcactivitylog ./Logs/Notices/51EA8B82-1F27-4476-99E2-ECE4A5390F16.xcactivitylog ./Logs/Notices/A39D1F70-C4D6-4D94-90D9-6CA112BBFB0C.xcactivitylog ./Logs/Notices/4DAEECAB-8174-43B5-991C-90F7462592C2.xcactivitylog ./Logs/Notices/2F85A3D3-CB38-4A1C-B64D-35E47C1EB89B.xcactivitylog ./Logs/Notices/F9C4FF01-78C6-429B-A175-C0D7AB5B52C0.xcactivitylog ./Logs/Notices/905E5B24-2CDE-4781-80A9-F483B00D19DC.xcactivitylog ./Logs/Notices/17975069-2403-482C-8EF2-04BF61C6B6A3.xcactivitylog ./Logs/Notices/7D15FF65-E528-4FD2-AF7D-164C99DF0CFC.xcactivitylog ./Logs/Notices/08A5F986-9B07-4358-A65C-EF7C9199159E.xcactivitylog ./Logs/Notices/9052B81F-C2B9-4A64-99BB-96282CDC1E5D.xcactivitylog ./Logs/Notices/592B50B7-5F39-48CA-99A7-168010DDA4AA.xcactivitylog ./Logs/Notices/0CAE3BEA-7449-4780-B2F8-338FE2947CB9.xcactivitylog ./Logs/Notices/F28CD47F-006F-4FA5-8614-CF1A09E59822.xcactivitylog ./Logs/Notices/2444EDF7-A047-4952-8D81-9927EFF80ACD.xcactivitylog ./Logs/Notices/0A91AE1A-ECE1-4B98-8F3C-3D06811E7A16.xcactivitylog ./Logs/Notices/6F471CA0-7233-46CA-8A21-BDF2C04875F1.xcactivitylog ./Logs/Notices/79A44623-8AC2-4E79-8D40-8CC8BD35742E.xcactivitylog ./Logs/Notices/5CB9A0AD-5F29-4073-B028-A746ADF33D6D.xcactivitylog ./Logs/Notices/C1B24CE3-299B-40AC-867F-59AFBBE23DC6.xcactivitylog ./Logs/Notices/2CCD7C80-AB26-4B1B-AC1B-A14DE7622D4C.xcactivitylog ./Logs/Notices/97958A0A-C3E1-433A-BF45-1DB1C715B0FA.xcactivitylog ./Logs/Notices/8EB6D990-19B4-422A-B653-6C54A64F8335.xcactivitylog ./Logs/Notices/25FFF59C-5BAE-4A84-8861-B54CE9BB77B1.xcactivitylog ./Logs/Notices/A82F715F-92AE-482D-810E-2227A7805DA4.xcactivitylog ./Logs/Notices/6103EB44-6A1F-4342-9718-C7519A9A72FC.xcactivitylog ./Logs/Notices/3DD7B7E6-B053-4EC0-99F0-2BBED467E478.xcactivitylog ./Logs/Notices/CA014F6B-DDF4-4803-AB0F-4DC48FE6228A.xcactivitylog ./Logs/Notices/F7FD999C-FE1D-486B-908C-9E87713C5059.xcactivitylog ./Logs/Notices/3A94FB6D-8EEB-4C3B-87DC-729A46E7291F.xcactivitylog ./Logs/Notices/EDAE9547-1B42-4C8C-A3EE-CA0C57B7F111.xcactivitylog ./Logs/Notices/2B663C13-BA9A-4E89-A7A3-E4BCEF7569D3.xcactivitylog ./Logs/Notices/97CB1D30-0506-4132-B1E3-61F609B77412.xcactivitylog ./Logs/Notices/88665A06-46E3-4264-BD83-4F7076FB44F7.xcactivitylog ./Logs/Notices/A9A19F3C-D50C-4870-99B9-8A2302B6E2F3.xcactivitylog ./Logs/Notices/DCBD6517-5D08-4DEE-BC4C-7E2111D1F1AD.xcactivitylog ./Logs/Notices/8AE5A762-4E22-451A-B6CE-CF2195C7ABC8.xcactivitylog ./Logs/Notices/BF9E18AE-8C08-4EB5-B6E9-C36E9741498C.xcactivitylog ./Logs/Notices/92AF2AD1-9FC9-45D6-B9B9-9965A617CBC7.xcactivitylog ./Logs/Notices/3A7B9662-7FF4-4680-AD05-C44D0AFB29E3.xcactivitylog ./Logs/Notices/35751F89-CAFC-4A55-BBA0-782983FB85D6.xcactivitylog ./Logs/Notices/D2C0874E-1944-4359-9FF2-F074EDD8BB8F.xcactivitylog ./Logs/Notices/CDA70D58-3889-49AE-A9C8-0756FBC69679.xcactivitylog ./Logs/Notices/5B5A01E0-C80E-420C-B007-C6570ADCBAAD.xcactivitylog ./Logs/Notices/80F268F1-9ABA-4229-9D1E-7F09821E28E0.xcactivitylog ./Logs/Notices/D27DFD9A-A81A-49D0-A71A-B54B5EE2EF6A.xcactivitylog ./Logs/Notices/FC179A04-21D6-4658-9CFA-3D5953E2CD3F.xcactivitylog ./Logs/Notices/F13492EA-393E-4D8B-A00E-D27FCA1B5B3B.xcactivitylog ./Logs/Notices/08E2A981-D363-4828-8AEF-BE0571ED5A4E.xcactivitylog ./Logs/Notices/F87B8C8F-55CA-4003-AEEE-40444099E796.xcactivitylog ./Logs/Notices/814F05DD-B972-4732-8DA9-05B4FF215781.xcactivitylog ./Logs/Notices/EB625AB0-C601-40D5-8235-F5AABFFB3473.xcactivitylog ./Logs/Notices/8AD4E461-5A54-4DA5-92E4-E0442C119F2B.xcactivitylog ./Logs/Notices/EE961EEB-40AA-434C-8715-8D54310FD65E.xcactivitylog ./Logs/Notices/2339D7D3-178F-4476-8235-BC1CF989659C.xcactivitylog ./Logs/Notices/6EA4B70B-62A7-4D39-B3A9-A741DE635EEB.xcactivitylog ./Logs/Notices/150F84DF-A55E-4DE8-85BF-9C9E2DE58EB4.xcactivitylog ./Logs/Notices/B9207DB1-E392-41DD-9807-27898B630165.xcactivitylog ./Logs/Notices/FA1A4BF2-9E88-4791-822D-2117E83DAF9B.xcactivitylog ./Logs/Notices/BCC58E82-2AA9-4033-9D13-25C981666283.xcactivitylog ./Logs/Notices/A3ADEF08-18B7-4F20-A09C-C8332308AB17.xcactivitylog ./Logs/Notices/B8B8B337-BD51-42F9-8BCE-8FE95CD5BE4C.xcactivitylog ./Logs/Notices/443628F0-3F17-40CB-9D21-74A5E7B7DC16.xcactivitylog ./Logs/Notices/089FB2B9-660B-40CE-A67A-FC0B47A00405.xcactivitylog ./Logs/Notices/9456BAA4-3D1F-4B6A-AC82-BCD820DCD59C.xcactivitylog ./Logs/Notices/99640F66-29E2-44BA-8572-D0402531D794.xcactivitylog ./Logs/Notices/044CBE19-BA17-4477-B2CE-62F706667E98.xcactivitylog ./Logs/Notices/29261411-A2DF-43B7-863E-7F73B30352AB.xcactivitylog ./Logs/Notices/15D1EB4B-AF38-4AC6-A5FE-B01610D03340.xcactivitylog ./Logs/Notices/F22B6E40-17B3-4B72-90B7-3C7683DAF21C.xcactivitylog ./Logs/Notices/DEBCD0DD-37D7-42EC-BDAE-882E981D83DC.xcactivitylog ./Logs/Notices/32171035-EF07-45D8-A904-85FD9B852FC3.xcactivitylog ./Logs/Notices/4A04980C-E975-4705-BB39-75713723C6FF.xcactivitylog ./Logs/Notices/DF84CF74-7982-4312-BFF0-087F7A647D4D.xcactivitylog ./Logs/Notices/685F833D-6BB1-40B2-A370-7674F8655B62.xcactivitylog ./Logs/Notices/32216DA5-5E73-469E-B1A8-CE8C5718985F.xcactivitylog ./Logs/Notices/C1EBB865-5619-48F3-AAE1-E47C1C856FC9.xcactivitylog ./Logs/Notices/028E4E0C-26BB-48E4-9802-0DD9E2A21901.xcactivitylog ./Logs/Notices/B9C86545-40D3-4897-B28A-E18CA66BC9D9.xcactivitylog ./Logs/Notices/B9297867-2930-41E9-BE97-32A7C31FBEA1.xcactivitylog ./Logs/Notices/8B85D650-D070-444F-9ABC-75794DC6D7D9.xcactivitylog ./Logs/Notices/83C9C426-59C8-4371-B3F6-FA9188BD4CFB.xcactivitylog ./Logs/Notices/6603B33F-0DF8-4B13-9781-BC8FC7EE5227.xcactivitylog ./Logs/Notices/BB844B2A-DB2F-42D3-9838-7D8BA533F186.xcactivitylog ./Logs/Notices/3B57D440-C7FF-43AD-A647-48AB7D5548EB.xcactivitylog ./Logs/Notices/FD8FD0C8-37A2-44F7-A6EB-C6CE844E2197.xcactivitylog ./Logs/Notices/9ECDD45D-0FBA-41F2-969D-FE23AD5270A8.xcactivitylog ./Logs/Notices/B330E1A9-37E3-4509-8FEC-483EA5E01409.xcactivitylog ./Logs/Notices/43D8644E-930E-44D2-877F-0825C1218D3C.xcactivitylog ./Logs/Notices/DA4DACA1-0480-4EF1-B1D8-1114C74715F2.xcactivitylog ./Logs/Notices/9D1063CB-B0DA-4B39-8855-4254823327EE.xcactivitylog ./Logs/Notices/5FBDC343-9198-4DE4-A85F-7A695A078C91.xcactivitylog ./Logs/Notices/E502DA3A-3CB7-42A5-BCE2-8E3A5CF52393.xcactivitylog ./Logs/Notices/19E406CD-565B-4AA4-A55C-CBCCA71C4A9E.xcactivitylog ./Logs/Notices/8DEDCF73-26D7-4194-B87E-AE743B14C07A.xcactivitylog ./Logs/Notices/846986B3-2B29-407D-878B-393E5491B40F.xcactivitylog ./Logs/Notices/C6DE7C58-CC91-4465-A168-7F855469E1B5.xcactivitylog ./Logs/Notices/439DDD95-53AE-44A4-AA4F-84C2401C73C8.xcactivitylog ./Logs/Notices/13D718DE-D51F-4597-AD25-8B8F7AF74D77.xcactivitylog ./Logs/Notices/5EEC1FF2-7065-41C5-897C-A91902EACA0E.xcactivitylog ./Logs/Notices/FECEF5FD-2760-457D-8F8D-4F3D6BBD5B96.xcactivitylog ./Logs/Notices/61D6BD63-B323-4534-97E7-E07D4343BDD6.xcactivitylog ./Logs/Notices/BE9A9875-5C5D-4AD4-897A-FD01E00A8E73.xcactivitylog ./Logs/Notices/C4BE2D4E-4354-4FB7-9324-7EDD385773C9.xcactivitylog ./Logs/Notices/BA6E5FFB-82ED-4219-A3FF-619CDA91A143.xcactivitylog ./Logs/Notices/054E54C8-434E-4B74-91EB-AC8C0640BA68.xcactivitylog ./Logs/Notices/CB72DD4B-0CE1-4070-A58D-D03E3B314A98.xcactivitylog ./Logs/Notices/A78A7F21-CA0A-4640-83A0-CEE48CBA2EC4.xcactivitylog ./Logs/Notices/B131ED69-8E9C-4596-A281-005131BFEF08.xcactivitylog ./Logs/Notices/5868A675-368F-4E2E-9A21-90BED618050C.xcactivitylog ./Logs/Notices/F7723E92-4652-44EB-BC9D-3655DA4D6F04.xcactivitylog ./Logs/Notices/53D37C84-4274-4580-A346-F6B9C447B970.xcactivitylog ./Logs/Notices/BD25EC53-7F41-4D05-852E-3E22F198A7DB.xcactivitylog ./Logs/Notices/029F6F19-660B-4378-ADB3-BFAD911DC226.xcactivitylog ./Logs/Notices/181F43E9-C649-429D-A3A7-1DEFB1C7EF72.xcactivitylog ./Logs/Notices/FC9FAA3F-5741-4DFC-8B51-901D00A785AE.xcactivitylog ./Logs/Notices/9846E233-E131-4AB4-B662-9C866AA4B049.xcactivitylog ./Logs/Notices/1303BC55-2E1F-4DD2-8D68-A12E08E3AEDD.xcactivitylog ./Logs/Notices/BF20AC46-3BED-4FF6-93C9-8FD65BE3167C.xcactivitylog ./Logs/Notices/F7C5A311-3393-43C1-96AB-1D548F52572B.xcactivitylog ./Logs/Notices/C0AF97E8-B1A8-45A4-93EA-91F962E73076.xcactivitylog ./Logs/Notices/EB34F553-E5D5-4C18-8EDE-0E8C1FD81134.xcactivitylog ./Logs/Notices/F7E12476-9382-412B-8DA6-A8F970BF2E7C.xcactivitylog ./Logs/Notices/C817BDFA-445F-4C26-99E4-7E4FEDF4E3A2.xcactivitylog ./Logs/Notices/C08DC4B6-F0CA-4440-AAA5-12B43E8BE7F0.xcactivitylog ./Logs/Notices/65A137C7-230E-4F92-8E78-48E278E21CB8.xcactivitylog ./Logs/Notices/D4391E3E-C971-4EBB-A0BF-138701BF9DF8.xcactivitylog ./Logs/Notices/DC253CAB-5146-4FAA-A1E2-C98A02D7548B.xcactivitylog ./Logs/Notices/CF3DFF52-874E-4CB0-ADA4-1D8E624EE788.xcactivitylog ./Logs/Notices/8518A3C8-1DCC-4C4E-8AD4-B39A86FDB649.xcactivitylog ./Logs/Notices/09A0054B-BB1F-4254-B567-54948A8EE5AB.xcactivitylog ./Logs/Notices/DA2FC963-BCB2-4A6E-9611-89177851689D.xcactivitylog ./Logs/Notices/0747783C-A0DE-430F-A435-B6F8BFDF70FB.xcactivitylog ./Logs/Notices/70B70C83-0D7A-4170-9113-2577D8EC13FC.xcactivitylog ./Logs/Notices/3F92A21E-6859-4DD4-B0EA-9E232FE818EE.xcactivitylog ./Logs/Notices/045C77AF-F4D9-4C23-8708-AEA924937B80.xcactivitylog ./Logs/Notices/A7709517-1513-43E1-B1AE-92201BFB1F60.xcactivitylog ./Logs/Notices/AECC78E8-D67A-44AE-8038-5F4FBCAFC4E9.xcactivitylog ./Logs/Notices/21194C98-6E12-4184-B839-73B0CFC8AC23.xcactivitylog ./Logs/Notices/BB5F1F63-D610-4CEE-B50B-323A815D40FB.xcactivitylog ./Logs/Notices/A969748C-01A9-40F9-9846-1BA03A61C987.xcactivitylog ./Logs/Notices/74723124-CAB6-4A7E-BB6C-132F5B6DCF5E.xcactivitylog ./Logs/Notices/D0FF5048-DF48-4483-B662-70C882347595.xcactivitylog ./Logs/Notices/81756378-1047-4A12-9989-3132B6494557.xcactivitylog ./Logs/Notices/85300543-17B4-4EE8-8DD5-368B2E1C6B8C.xcactivitylog ./Logs/Notices/8163CCF5-B1D3-4D8D-9242-17191F37450D.xcactivitylog ./Logs/Notices/D09DFD17-2AE0-4E58-ABBF-4F17AB38F30E.xcactivitylog ./Logs/Notices/846F98B0-4602-471F-A637-F75FF42A5A8B.xcactivitylog ./Logs/Notices/A290050C-8D2E-4401-A7E4-4017277BBB92.xcactivitylog ./Logs/Notices/573F62CE-034B-4D43-8E15-F4E3FAC9F658.xcactivitylog ./Logs/Notices/AF08D196-DA6D-44A3-B667-31186E3F9C87.xcactivitylog ./Logs/Notices/0AE7344F-A06B-4BCC-AC43-E87381DB7041.xcactivitylog ./Logs/Notices/A89ACDC1-04CC-4058-9079-AE3A6A5764C8.xcactivitylog ./Logs/Notices/7AFB6906-4B11-4FF5-8695-6198B7F3A352.xcactivitylog ./Logs/Notices/346018F9-5D92-43F4-8F96-1B411F70FA52.xcactivitylog ./Logs/Notices/562F9AD2-C87E-4908-A804-9056DD50C338.xcactivitylog ./Logs/Notices/487A49D2-CF7D-4029-82E8-A5A3A9EAC79B.xcactivitylog ./Logs/Notices/98F748FD-873B-4987-80E2-FD1040363FEB.xcactivitylog ./Logs/Notices/2C6BC07D-33DC-4F32-AA61-279C80811980.xcactivitylog ./Logs/Notices/A28D699D-ECAB-4706-9534-B6C7837AECF5.xcactivitylog ./Logs/Notices/DA80459D-2535-417A-A13B-6F3B3EBB201C.xcactivitylog ./Logs/Notices/04A83E32-968C-4E75-B35D-D0CB04C4562C.xcactivitylog ./Logs/Notices/D94332D3-7E71-4945-947A-B6E9D37A1749.xcactivitylog ./Logs/Notices/8E819668-1F78-44BE-BBB1-FE3CABB763B2.xcactivitylog ./Logs/Notices/66B2EBCF-B779-490C-9817-582B0D1C4324.xcactivitylog ./Logs/Notices/59401E15-8ABF-4D1E-AC60-C81B9539A782.xcactivitylog ./Logs/Notices/7ADF7C7B-BECD-46C3-B9A1-3CF407AE8547.xcactivitylog ./Logs/Notices/D27A3FC7-9A29-45CE-93C3-706D931C379C.xcactivitylog ./Logs/Notices/BEF3491D-140B-46AE-A60F-FE1911661997.xcactivitylog ./Logs/Notices/648DA69D-C1A3-471A-BBED-662F160D3A86.xcactivitylog ./Logs/Notices/4A3E9D60-259B-4AA6-824E-95D3B8F20FBD.xcactivitylog ./Logs/Notices/DF6E5B05-0D1B-47C5-84C7-BA94ED69252E.xcactivitylog ./Logs/Notices/05FB3606-F1B7-4DEF-BDAE-EC7233809FF1.xcactivitylog ./Logs/Notices/9DA47FA3-5B26-4AC2-9A43-7FB1195DB8FE.xcactivitylog ./Logs/Notices/74BDED1A-B798-4292-BF7D-2B7AEC07DE6C.xcactivitylog ./Logs/Notices/824C6B62-A236-4D52-AA0F-2183A5DEEEC8.xcactivitylog ./Logs/Notices/87C07350-A353-4D20-BD3F-080F2ABDE4C2.xcactivitylog ./Logs/Notices/474A24C5-4D1C-4830-973B-E1C0C745F814.xcactivitylog ./Logs/Notices/C1D4A63E-B798-4BFB-81CE-713CC803EC87.xcactivitylog ./Logs/Notices/5A8A1383-17F2-49EE-AB06-6E8BE847BC6C.xcactivitylog ./Logs/Notices/D970DD87-88EA-4597-960F-6470FC3D5B40.xcactivitylog ./Logs/Notices/893B6049-A0CA-482C-8F12-E83BAD6E73D7.xcactivitylog ./Logs/Notices/39A8C69C-842D-4893-A264-0EF6FA3C0FDB.xcactivitylog ./Logs/Notices/AEB65030-6797-4C07-914F-45A5369D4E42.xcactivitylog ./Logs/Notices/EF90C6C3-DE5C-4F60-85F7-5C69AA6BAC4F.xcactivitylog ./Logs/Notices/9369EAE2-D1F2-4433-B0AA-E06ECC9FC254.xcactivitylog ./Logs/Notices/BE3C8592-EFF8-439C-85F1-318466ED96AA.xcactivitylog ./Logs/Notices/36438870-4CD7-4639-917F-862A305B8289.xcactivitylog ./Logs/Notices/1A41A80C-FB08-480B-8014-7891AA6817BF.xcactivitylog ./Logs/Notices/FE1CC660-6BFA-4BF1-B9DE-F55F666FA3A8.xcactivitylog ./Logs/Notices/59A2F8DE-9304-41B6-9B41-C04DCE21879A.xcactivitylog ./Logs/Notices/391B17F5-85A1-4222-B9B9-69DE1C7A959D.xcactivitylog ./Logs/Notices/F710CCDB-DB5A-49EB-9D29-6470F48AE64C.xcactivitylog ./Logs/Notices/A7DB8B7C-0163-41FE-B978-2741BA077391.xcactivitylog ./Logs/Notices/9D480216-1FB1-43CB-88DC-95C26D04BA77.xcactivitylog ./Logs/Notices/FACD75C8-741A-4A91-BF7A-B3BB36761415.xcactivitylog ./Logs/Notices/0F1D30EE-6A4B-4405-99AC-CA0E0E157D96.xcactivitylog ./Logs/Notices/4128A53F-6D1C-46B8-9A93-774607795BDE.xcactivitylog ./Logs/Notices/22B384DC-7046-48A9-92F0-867B00791A37.xcactivitylog ./Logs/Notices/BB5B4610-9885-400D-BDF8-9F4796D92D69.xcactivitylog ./Logs/Notices/521FE331-4277-49BA-BCE4-B871B8C1379C.xcactivitylog ./Logs/Notices/7B1438CC-BF5F-4FFE-A736-AD957EE60E3F.xcactivitylog ./Logs/Notices/82D50C77-9B61-4A19-A9E7-C5A76606410C.xcactivitylog ./Logs/Notices/771BE907-45C8-4EC8-9360-C4079A81C639.xcactivitylog ./Logs/Notices/0AB92AF3-6310-49CF-94E9-AFBAEC8F8179.xcactivitylog ./Logs/Notices/ED6D7293-065E-49E7-94BB-478E7DD6E428.xcactivitylog ./Logs/Notices/736138C0-100E-4827-AD60-96852A1AB2C5.xcactivitylog ./Logs/Notices/4727FE9B-7583-40EB-9E02-98C2E125CC57.xcactivitylog ./Logs/Notices/3E47D33A-83BD-4674-9D89-A0DF187EB852.xcactivitylog ./Logs/Notices/F27E0EA5-AA8A-4875-8A50-8C007ED51605.xcactivitylog ./Logs/Notices/E9E0E3C4-0BCC-4675-9460-0731AC501A2F.xcactivitylog ./Logs/Notices/FFB3E1C2-987A-4D24-9100-234F39F7FCD6.xcactivitylog ./Logs/Notices/9A96F8EA-85F7-4A87-BDA4-B76040D9E4BC.xcactivitylog ./Logs/Notices/EEBD58AA-CDE2-4724-B98D-F90341047280.xcactivitylog ./Logs/Notices/4D8CC50B-E3DD-4A90-8E6C-17408DEFA2DA.xcactivitylog ./Logs/Notices/474994C5-7028-4E2F-8889-651FE045ECAE.xcactivitylog ./Logs/Notices/2044C916-893B-4E64-825C-16DF9DF56E56.xcactivitylog ./Logs/Notices/E7AA5555-A74D-43B5-A9E6-3D22251382CF.xcactivitylog ./Logs/Notices/4A670C63-7C7B-4C61-94D6-0E8F729F7D54.xcactivitylog ./Logs/Notices/2F6486A9-06CE-4C68-A842-A07EDE034763.xcactivitylog ./Logs/Notices/8EED4A12-A1CE-4DFB-872C-1A9A13AD893D.xcactivitylog ./Logs/Notices/ACAF1923-AF21-46C2-8A4B-00205E366570.xcactivitylog ./Logs/Notices/BD685AB9-BA71-4E3C-ACDC-2EF030A2C3B2.xcactivitylog ./Logs/Notices/8BB37B22-8CEF-4792-A864-149AFB0EA912.xcactivitylog ./Logs/Notices/BB406B75-974A-4570-A61D-7C490E9805EC.xcactivitylog ./Logs/Notices/C8C18F1D-68AB-47FE-A568-F618E1F40A6A.xcactivitylog ./Logs/Notices/2AAA4ACE-0534-4567-86E7-5CD6D437E028.xcactivitylog ./Logs/Notices/33F4783C-478E-4224-B1C8-6D4448661046.xcactivitylog ./Logs/Notices/AED554F3-CDD4-4F7B-A4C6-9D14A3CE06CA.xcactivitylog ./Logs/Notices/3DB38C11-4220-40CF-B01D-02EAB82A8DE8.xcactivitylog ./Logs/Notices/7D304AB4-8BF6-44C6-9E3D-4F79B3DEAC5C.xcactivitylog ./Logs/Notices/FFA5DEF0-75E4-4B73-9E52-EA3978DD9C03.xcactivitylog ./Logs/Notices/F2BA571A-AF47-4E14-8EEF-226FD22039C6.xcactivitylog ./Logs/Notices/E08173ED-817E-4B15-AA8F-844ADF0F615B.xcactivitylog ./Logs/Notices/E08FA281-FD0E-4A99-AA09-4922A4FEE2B8.xcactivitylog ./Logs/Notices/640B3FBC-C1AE-46DD-9931-0C2E3192BD95.xcactivitylog ./Logs/Notices/8EEDF7DE-146B-409E-906C-676950DDAF4C.xcactivitylog ./Logs/Notices/549C88DA-4166-4089-A76E-04EC99965DB5.xcactivitylog ./Logs/Notices/113FEAB5-980B-45B2-B0FA-DBDDA4B2CF23.xcactivitylog ./Logs/Notices/9905B973-688C-4240-BD9E-6607B8382453.xcactivitylog ./Logs/Notices/1A772462-1433-470A-801C-3A67596E7543.xcactivitylog ./Logs/Notices/CC11C96A-D108-4C9E-8C4A-4F80C85DA3ED.xcactivitylog ./Logs/Notices/21514F64-592F-4B79-9658-B5C02DD31080.xcactivitylog ./Logs/Notices/E5F4C8E5-55EB-43D2-8E00-6E5B1568E6DE.xcactivitylog ./Logs/Build/442B1F39-EA7C-4D73-BFDD-2D8CF01B5A42.xcactivitylog ./Logs/Build/A898C684-60ED-4819-A2E2-164404E90987.xcactivitylog ./Logs/Package/50BD1974-F374-4DEB-AB8E-6EB9684E44C1.xcactivitylog ./Logs/Package/75446782-21D5-486D-8B11-7ECF0D9966EA.xcactivitylog ```
LogStoreManifest.plist ``` caesar at caesar-macbook-pro in ~/Library/Developer/Xcode/DerivedData/MyApp-czhykqicsjtfrjgwdilqryuwjfyq > cat Logs/Build/LogStoreManifest.plist logFormatVersion 10 logs 442B1F39-EA7C-4D73-BFDD-2D8CF01B5A42 className IDEActivityLogSection documentTypeString <nil> domainType Xcode.IDEActivityLogDomainType.BuildLog fileName 442B1F39-EA7C-4D73-BFDD-2D8CF01B5A42.xcactivitylog hasPrimaryLog primaryObservable highLevelStatus W schemeIdentifier-containerName MyApp project schemeIdentifier-schemeName MyApp Beta schemeIdentifier-sharedScheme 1 signature Build MyApp Beta timeStartedRecording 686845369.35435402 timeStoppedRecording 686845600.59620905 title Build MyApp Beta uniqueIdentifier 442B1F39-EA7C-4D73-BFDD-2D8CF01B5A42 A898C684-60ED-4819-A2E2-164404E90987 className IDEActivityLogSection documentTypeString <nil> domainType Xcode.IDEActivityLogDomainType.BuildLog fileName A898C684-60ED-4819-A2E2-164404E90987.xcactivitylog hasPrimaryLog primaryObservable highLevelStatus W schemeIdentifier-containerName MyApp project schemeIdentifier-schemeName MyApp Beta schemeIdentifier-sharedScheme 1 signature Build MyApp Beta timeStartedRecording 686846117.82490098 timeStoppedRecording 686846281.03700995 title Build MyApp Beta uniqueIdentifier A898C684-60ED-4819-A2E2-164404E90987 ```

I have gotten injection working on this project before. I'm trying to integrate HotReloading, though, so that developers on my team don't need to manually install the InjectionIII.app in order to use it. I'd like to get some setup where "it just works."

johnno1962 commented 1 year ago

Hi, when you say "this" issue. What exactly do you mean? The generic "Can't locate compile command..." error which can have many causes including having () characters in the path to the project or case sensitivity in file paths for example. You're saying the injection app has worked on this same project in the past but HotReloading not? The code is the same except HotReloading works from inside the simulator which introduces case sensitivity in the simulator file system which is most likely the problem.

cjwirth commented 1 year ago

Right, "the issue" is the generic "Can't locate compile command..." error message with the multiple different options.

I thought it was the same because:

This could be due to one of the following:

  1. Injection does not work with Whole Module Optimization.

We're not doing this

  1. There are restrictions on characters allowed in paths.

As far as I can tell there shouldn't be any non-ascii characters in our paths

  1. File paths in the simulator are case sensitive.

Seems like this is the one you are suspecting? Should everything be lowercase, or...? I'm not sure how filenames/paths would change case in the simulator to cause issues here. I know nothing of the process, so maybe this is the issue, but nothing seemed immediately obvious to me.

  1. The modified source file is not in the current project.

Nope.

  1. The source file is an XCTest that has not been run yet.

Nope

  1. Xcode has removed the build logs. Edit a file and re-run.

Seemingly not? The logs appear up there, as I've posted.

So maybe you're right, maybe it is the case issue. I'm not sure what I need to change to fix it, though?

You're saying the injection app has worked on this same project in the past but HotReloading not? The code is the same except HotReloading works from inside the simulator which introduces case sensitivity in the simulator file system which is most likely the problem.

Yes exactly, the Injection app has worked beautifully, and so I was hoping to get HotReloading working in the project so "it just works" for everyone else without manual setup.

Thanks for the insight that this probably points to a case sensitivity issue.

johnno1962 commented 1 year ago

You can chase it down by running the command.sh from the command line using $ bash Githubissues.

  • Githubissues is a development platform for aggregating issues.