Darwin Build Environment Help Center

Problem after upload - Voxelbuster

append delete Pedro C

windows: 11
builder: 3.76
ios sdk: 18.2

build log: https://pastebin.com/cXeF6Bm8

Basically I'm having a problem after uploading the game, it started after I updated voxelbuster.
I know usually the problem wouldn't be yours but I asked the Voxelbuster creator, they told me you two talked and that I should post it here.

Build and upload are successful, but apple returns me this error:

https://pastebin.com/n0ijTvWA

Reply RSS

Replies

append delete #1. Pierre-Marie Baty

Hello Pedro

The problem can be seen near the end of the build log:

%
 + Embedding resource: VBCoreLibrary.xcframework...
%

For some reason, a .xcframework bundle is embedded like a resource, instead of being embedded like a framework. It's an interesting case. At the moment I can't tell if the cause is the Xcode project or the builder logic. Would you mind sharing this Xcode project with me so that I can reproduce the problem and study why it happens? Confidentiality is guaranteed. Send a download link to pm @ this domain. Thanks in advance.

append delete #2. Pedro C

Hello Pierre, just sent it to the e-mail you mentioned.

Can you confirm it was received?

Thanks a lot

append delete #3. Pierre-Marie Baty

Yes, I downloaded it. Thank you.

I have something to finish first and I'll hop on it immediately after. Thank you for your patience.

append delete #4. Pierre-Marie Baty

Hello Pedro

I think there are several problems in your Xcode project file.

One I see is that there are files, that are referenced as absolute paths. e.g:

%
		583648DB8DFF2A2075E13274 /* de.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; name = de.lproj; path = "C:/iOS/CompanyAugust/BalasoLocalizationResources/de.lproj"; sourceTree = SOURCE_ROOT; };
		66CE48018C39E6A8E5AFEB20 /* ja.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ja.lproj; path = "C:/iOS/CompanyAugust/BalasoLocalizationResources/ja.lproj"; sourceTree = SOURCE_ROOT; };
		6F0B4212B7F4931BAD89D559 /* en.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; name = en.lproj; path = "C:/iOS/CompanyAugust/BalasoLocalizationResources/en.lproj"; sourceTree = SOURCE_ROOT; };
		72494AC8B445B1A183F78168 /* ko.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ko.lproj; path = "C:/iOS/CompanyAugust/BalasoLocalizationResources/ko.lproj"; sourceTree = SOURCE_ROOT; };
		7C2A4068966A0F36D7E3EEAA /* es.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; name = es.lproj; path = "C:/iOS/CompanyAugust/BalasoLocalizationResources/es.lproj"; sourceTree = SOURCE_ROOT; };
		85AC44AABEAE761982639465 /* ca.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ca.lproj; path = "C:/iOS/CompanyAugust/BalasoLocalizationResources/ca.lproj"; sourceTree = SOURCE_ROOT; };
		9A63423F9B6610E4C6BF0DB1 /* fr.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; name = fr.lproj; path = "C:/iOS/CompanyAugust/BalasoLocalizationResources/fr.lproj"; sourceTree = SOURCE_ROOT; };
		C3CD4D3B90BBF9565A323D50 /* zh.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; name = zh.lproj; path = "C:/iOS/CompanyAugust/BalasoLocalizationResources/zh.lproj"; sourceTree = SOURCE_ROOT; };
%

As you can see these files are referenced with *absolute paths* starting with "C:/..." instead of relative paths from the Xcode project root. This means such a Xcode project would not work on a Mac, because there is no such path as "C:/..." on Mac.

It does work, however, on your computer, but that's because you created the Xcode project with Unity on Windows, and you build it on Windows, from the same directory where it was created. But it wouldn't work as soon as you would e.g. move it to some other place on your disk. So you may want to fix that.

A Google search suggests that you might be using this: https://github.com/Balaso-Software/app-tracking-transparency-for-unity

If that's the case, you may want to check if something needs to be fixed in your Unity project so that these files are embedded in the Xcode project with *relative* paths instead of absolute paths. If you can't find anything to fix on your side, contact the author of this plugin for guidance (you may direct him to this thread so that he understands what it's about).

I'll make another post about the second problem in a minute.

append delete #5. Pierre-Marie Baty

Now to the problem proper. There is currently a bug in the builder's main build script, in so that when it encounters an additional framework to package that presents itself not as a .framework but as a .xcframework bundle, it isn't recognized as a framework but as a resources directory.

Until this is fixed in the builds script (the next version of the builder will get it right, I'm working on it), you can use the following pre-packaging script to fix it:

% pre-packaging script to use to embed VBCoreLibrary.framework as a framework and not as a resource dir
@echo off

rem // move the VBCoreLibrary framework where it belongs, i.e. in the Frameworks directory
move /y "%TARGET_BUILD_DIR%\%NAME%.app\VBCoreLibrary.xcframework\ios-arm64\VBCoreLibrary.framework" "%TARGET_BUILD_DIR%\%NAME%.app\Frameworks"

rem // remove the remaining of the .xcframework bundle that was incorrectly included
rmdir /s /q "%TARGET_BUILD_DIR%\%NAME%.app\VBCoreLibrary.xcframework"
%

This should fix your problem. Let me know if that was not the case.

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