And set $(BUILT_PRODUCTS_DIR)/My-Info.plist-Prefix.pch as an output file of the build phase.
Then, enable Preprocess Info.plist File build setting and set prefix file to the same path as in the build phase.
If everything is done correctly, Xcode will replace stubs in Info.plist with values from the prefix file.
This isn't a perfect solution, but at least it unblocks builds on Xcode 15.
Sure thing, @jonathanim.
Let's say you had a build phase that injected some dynamic value INJECTED_VALUE to Info.plist with a key PLIST_KEY. This is my use case that stopped working in Xcode 15 betas, and here is what I did as a workaround:
First, add this key to Info.plist with a mocked value that later will be replaced, let's say
In my case, the following solved the problem. I paid attention again to the order of the Build Phase. When I was checking the Build Phase, I found that the "Embed Foundation Extensions" (Widget Extension) related to WatchApp were last in the order. (RunScript was also executed in the middle). I noticed this and solved the problem by rearranging the order of Embed Foundation Extensions to be right after Copy Bundle Resources.