I use agvtool to bump my build numbers. In my recently refactored Xcode 13.0 (13A233) project, but am getting a strange error:
Cannot find "Foo.xcodeproj/../NO"
E.g.
% agvtool next-version -all
Setting version of project Foo to:
108.
Also setting CFBundleVersion key (assuming it exists)
Updating CFBundleVersion in Info.plist(s)...
Updated CFBundleVersion in "Foo.xcodeproj/../Foo/Support files/Environments/QA/Info.plist" to 108
Updated CFBundleVersion in "Foo.xcodeproj/../FooKit/Info.plist" to 108
Updated CFBundleVersion in "Foo.xcodeproj/../FooTests/Info.plist" to 108
Cannot find "Foo.xcodeproj/../NO"
I only have those three targets, Foo, FooKit, and FooTests, but it is looking for another one called NO.
I have looked around and do not see any extraneous Info.plist files. I am guessing that there is something set to NO in .pbxproj or Info.plist which agvtool is incorrectly picking up as a potential target, but I have not figured where it is. How precisely does the -all option figure out which Info.plist files need updating?
My work-around was to set the “Bundle version” in my various
Info.plistfiles to$(CURRENT_PROJECT_VERSION):Then I don't need to use the
-alloptional at all. I simply:The
.plistfiles will grab the version from the target, rather than being specified individually in the respective files. This avoids the curious behavior/bug of the-alloption.