Darwin Build Environment Help Center

Submission requirements issue Xcode version on iOS

append delete Francesco

Windows 10
Xcode 26.0.1 Release correctly installed
Builder v3.80 (LLVM/Clang 19.1.5, Swift 6.2, ld64 955.13-20250926, cctools 1024.3) - using iOS 26.0 SDK
Unity 2022.3.62f1

When I submit the .IPA I get:

New apps and app updates must be built with the latest public (GM) versions of Xcode, and the iOS, macOS, watchOS, and tvOS SDKs. Apps built with beta versions aren't allowed

current requirements are:

iOS and iPadOS apps must be built with the iOS & iPadOS 26 SDK or later

what am I missing?

:: @Francesco added on 08 Oct ’25 · 12:39

the info.plist inside the .ipa:

File Name : Info.plist
File Size : 2005 bytes
File Type : PLIST
File Type Extension : plist
MIME Type : application/x-plist
CF Bundle Icons Ipad CF Bundle Primary Icon CF Bundle Icon Name: AppIcon
CF Bundle Icons Ipad CF Bundle Primary Icon CF Bundle Icon Files: Icon-Notification, Icon-Small, Icon-Notification@2x, Icon-Small-40, Icon-Small-50, Icon-Small@2x, Icon-72, Icon-76, Icon-Small-80, Icon-Small-100, Icon-144, Icon-152, Icon-167
CF Bundle Icons CF Bundle Primary Icon CF Bundle Icon Name: AppIcon
CF Bundle Icons CF Bundle Primary Icon CF Bundle Icon Files: Icon-Small, Icon-Notification@2x, Icon, Icon-Small@2x, Icon-60, Icon-Notification@3x, Icon-Small@3x, Icon@2x, Icon-120, Icon-180
CF Bundle Icon Files : Icon-Small, Icon-Notification@2x, Icon, Icon-Small@2x, Icon-60, Icon-Notification@3x, Icon-Small@3x, Icon@2x, Icon-120, Icon-180, Icon-Notification, Icon-Small, Icon-Notification@2x, Icon-Small-40, Icon-Small-50, Icon-Small@2x, Icon-72, Icon-76, Icon-Small-80, Icon-Small-100, Icon-144, Icon-152, Icon-167
CF Bundle Icon File : Icon
Build Machine OS Build : 15G22010
DT Xcode Build : 17A400
DT Xcode : 2601
DTSDK Build : 1.0
DT Platform Build : 1.0
DT Compiler : com.apple.compilers.llvm.clang.1_0
DTSDK Name : iphoneos26.0
DT Platform Version : 26.0
DT Platform Name : iphoneos
CF Bundle Supported Platforms : iPhoneOS
UI Device Family : 1, 2
Minimum OS Version : 12.0
CA Disable Minimum Frame Duration: True
CA Disable Minimum Frame Duration On Phone: True
CF Bundle Allow Mixed Localizations: False
CF Bundle Development Region : en
CF Bundle Display Name : *hidden*
CF Bundle Executable : *hidden*
CF Bundle Identifier : *hidden*
CF Bundle Info Dictionary Version: 6.0
CF Bundle Name : *hidden*
CF Bundle Package Type : APPL
CF Bundle Short Version String : 1.0
CF Bundle Version : 1
LS Requires I Phone OS : False
UI Launch Storyboard Name : LaunchScreen-iPhone
UI Launch Storyboard Name Ipad : LaunchScreen-iPad
UI Launch Storyboard Name Iphone: LaunchScreen-iPhone
UI Launch Storyboard Name Ipod : LaunchScreen-iPhone
UI Prerendered Icon : True
UI Required Device Capabilities : metal, arm64
UI Requires Full Screen : False
UI Requires Persistent Wi Fi : True
UI Status Bar Hidden : False
UI Status Bar Style : UIStatusBarStyleDefault
UI Supported Interface Orientations: UIInterfaceOrientationLandscapeRight, UIInterfaceOrientationLandscapeLeft
UI View Controller Based Status Bar Appearance: False
Unity Loading Activity Indicator Style: 18446744073709551615

-----

Info.plist: Apple binary property list
Info.plist: application/octet-stream; charset=binary

Reply RSS

Replies

append delete #1. Pierre-Marie Baty

Hello

Build Machine OS Build : 15G22010

This is the value for OS/X 10.11.6 "El Capitan", a very old macOS. It is very likely that your app is rejected because of that - the App Store considers there's no way your app could possibly be built with this SDK on that version of macOS.

It seems to indicate that the version of macOS that you used to migrate the Apple SDKs was actually El Capitan. If that's the case, you can fix it.

Open the file called "osx-build" in your SDK root path (e.g. "C:\Users\your-name\Project Builder for Unity\SDK-iOS\osx-build") with a text editor and change the value you read here to a more recent one.

I found a list here: https://en.namu.wiki/w/macOS/%EB%B2%84%EC%A0%84%20%EB%B0%8F%20%EB%B9%8C%EB%93%9C%20%EC%9D%BC%EB%9E%8C

You could use, for example, 23A344 - this corresponds to macOS Sequoia.

Let me know if it was enough to fix the problem.

append delete #2. Francesco

Yes I'm on an old MacMini with El Capitan and I tried ur suggestion but it gaves me same error:(
I double checked the plist inside .ipa and now it is:

Build Machine OS Build : 23A344
DT Xcode Build : 17A324
DT Xcode : 2600

append delete #3. Francesco

Do you have any other idea?
Could it be a bug with the option "Resigning the .ipa before uploading"?
I'm using "Change build number" set on Auto Incremental.

It should not modify anything else other than build number, right?

append delete #4. Francesco

Also the builder is always setting "1.0", ignoring the "CFBundleVersion" in info.plist inside the unity generated project.
The .ipa generated is always 1.0

append delete #5. Francesco

I meant "1"

append delete #6. Francesco

And if u set the build number in UploadTool to Explicit it also breaks the app version

append delete #7. Francesco

Submission issue It's not related do certifacte or provisional profiles I guess ?They don't store any xcode info in it?

append delete #8. Francesco

UPDATE1:
A friend of mine sent me his XCode zipped then I've put it in my old mac Application folder and launched the migration script.
Still no luck.

UPDATE2:
He launched migration script from his MAC and sent me the SDK zip generated
IT WORKS NOW!

Probably, only copying XCode.app inside Appllications folder is not enough to exctract working sdks, you need a real Mac

append delete #9. Pierre-Marie Baty

Glad to hear you worked it around.

It means the "osx-version" file should be updated along when the "osx-build" file is changed.

The next update should take care of this automatically.

append delete #10. Francesco

Also the builder is always setting "1", ignoring the "CFBundleVersion" in info.plist inside the unity generated project.

I guess it's a bug?

append delete #11. Pierre-Marie Baty

Correct.

Comment out the line #897 in build.cmd:

% build.cmd lines 895-897
	rem // acquire the product version (real and marketing variants, mapped to CFBundleVersion and CFBundleShortVersionString respectively)
	"!TOOLCHAIN_PATH!\pbxprojparse.exe" "!XCNAME!.xcodeproj" SDKROOT= BUILD_DIR="!BUILD_DIR:\=/!" -target "!TARGET_NAME!" -configuration "!CONFIGURATION!" -query CURRENT_PROJECT_VERSION > %TO_TEMPVAR%
	if not "_!TEMPVAR!_"=="__" set CURRENT_PROJECT_VERSION=!TEMPVAR!
	rem //if "_!CURRENT_PROJECT_VERSION!_"=="__" set CURRENT_PROJECT_VERSION=1
%

This will be fixed in the next version.

:: @Pierre-Marie Baty added on 09 Oct ’25 · 19:30

*edit* actually there's a bit more to fix this bug with the CFBundleVersion. Please download this updated build.cmd file here: https://www.pmbaty.com/darwinbuildenv/build.zip and replace the builder's with this one. Rebuild and let me know if it fixes the problem with CFBundleVersion.

append delete #12. Francesco

it works now. Thanks

Reply

(Leave this as-is, it’s a trap!)

There is no need to “register”, just enter the same name + password of your choice every time.

Pro tip: Use markup to add links, quotes and more.

Moderators: Pierre-Marie Baty