iOS Build Environment Help Center

Build complete dialog shown without actually building

append delete sathyaraj

Builder version 3.39
SDK iOS15
The project contains Google Admob via Cocoapods and Facebook using static libs
Upon clicking on build Build complete dialog is shown right away without actually building anything and does not show any errors either.

Reply RSS

Replies

append delete #1. Pierre-Marie Baty

Hello

This is typical of a syntax error in the Windows command interpreter.

The most common cause is that either the command line is too long, or it contains forbidden characters. This can happen if you use very long file/directory access paths.

Have you located your Xcode project in a directory close enough to the drive root, and are the static libraries located on a local (non-network) drive, close enough to the drive root too ?

append delete #2. sathyaraj

Hi,
The build folder is at C:\iOS\Build
and all facebook static libs are in the Frameworks folder and referenced like this.

-framework FBSDKCoreKit -framework FBSDKGamingServicesKit -framework FBSDKLoginKit -framework FBSDKShareKit

append delete #3. Pierre-Marie Baty

That's an unusual case. Can you share your C:\iOS directory with me so that I reproduce the problem ? Confidentiality is guaranteed.

append delete #4. sathyaraj

Please check the mail

append delete #5. Pierre-Marie Baty

I'm reviewing what you sent me. On my side, the builder starts normally, without showing the behavior you describe.

One preliminary remark : you specify additional frameworks, but don't specify the path where the linker should look for them. If you want them to have any effect, your flags shouldn't be just

% Extra linker flags 
-framework FBSDKCoreKit -framework FBSDKGamingServicesKit -framework FBSDKLoginKit -framework FBSDKShareKit
%

But

% Extra linker flags
-FC:\iOS\Facebook920staticlibs -framework FBSDKCoreKit -framework FBSDKGamingServicesKit -framework FBSDKLoginKit -framework FBSDKShareKit
%

Anyway, it doesn't explain why the builder doesn't start correctly on your computer. It might be because of an invalid/forbidden character in your private key passphrase. Have you checked that ?

append delete #6. sathyaraj

I have moved the Facebook SDK to the frameworks folder that's why the linker flags are written that way

There was this error during installation
https://www.dropbox.com/s/2486mprx80zzhuo/iosbuildererror.PNG?dl=0
which I ignored and continued. That might be causing the problem?

I cross-checked private key it seems alright just used strings for the name and password

:: @sathyaraj added on 04 Nov ’21 · 07:32

I force removed zlib1.dll and reinstalled the builder but the issue persists.

:: @sathyaraj added on 04 Nov ’21 · 08:04

Updated the builder to 3.40. Now it shows "erros occured while building your project" error prompt but does not show it the cmd panel. Not able to figure out what I error is

append delete #7. Pierre-Marie Baty

What do you mean by "I have moved the Facebook SDK to the frameworks folder" ? Which frameworks folder are you talking about here ?

append delete #8. sathyaraj

Frameworks folder inside the SDK folder of ios builder

append delete #9. Pierre-Marie Baty

And would you please post here the name and contents of the .txt file that I put in that directory, precisely for that purpose ?

append delete #10. sathyaraj

Understood. Moved it out and followed as you suggested.

https://www.dropbox.com/s/2486mprx80zzhuo/iosbuildererror.PNG?dl=0

extra compiler flags
-F"C:/iOS/Facebook920/FBSDKCoreKit.xcframework/ios-arm64_armv7" -F"C:/iOS/Facebook920/FBSDKGamingServicesKit.xcframework/ios-arm64_armv7" -F"C:/iOS/Facebook920/FBSDKLoginKit.xcframework/ios-arm64_armv7" -F"C:/iOS/Facebook920/FBSDKShareKit.xcframework/ios-arm64_armv7"

extra linker flags
-F"C:/iOS/Facebook920" -framework FBSDKCoreKit -framework FBSDKGamingServicesKit -framework FBSDKLoginKit -framework FBSDKShareKit

It does not show any error in the console so I can check what the problem is. It just shows a dialog as sh

append delete #11. sathyaraj

I updated to FBSDK to 11.0.0 and static libs to 11.2.1. Now I get these errors

+ Building Pods_Unity_iPhone for iphoneos (configuration: Release)
+ [arm64] Compiling Target Support Files/Pods-Unity-iPhone/Pods-Unity-iPhone-dummy.m...
+ [arm64] Linking Pods_Unity_iPhone...
+ [arm64] Relinking Pods_Unity_iPhone with extra flags: -framework Accelerate
ld: warning: Could not find or use auto-linked framework 'FBAEMKit'
ld: warning: Could not find or use auto-linked framework 'LegacyGamingServices'
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_FBAEMReporter", referenced from:
objc-class-ref in FBSDKCoreKit(FBSDKApplicationDelegate.o)
objc-class-ref in FBSDKCoreKit(FBSDKAppEvents.o)
"_OBJC_CLASS_$_FBSDKCreateContextDialogFactory", referenced from:
objc-class-ref in FacebookGamingServices(ContextDialogPresenter.o)
"_OBJC_CLASS_$_FBSDKCreateContextDialog", referenced from:
objc-class-ref in FBSDKGamingServicesKit(FBSDKContextDialogPresenter.o)
"_OBJC_CLASS_$_FBSDKChooseContextDialog", referenced from:
objc-class-ref in FBSDKGamingServicesKit(FBSDKContextDialogPresenter.o)
objc-class-ref in FacebookGamingServices(ContextDialogPresenter.o)
"_OBJC_CLASS_$_FBSDKSwitchContextDialogFactory", referenced from:
objc-class-ref in FacebookGamingServices(ContextDialogPresenter.o)
"_OBJC_CLASS_$_FBSDKSwitchContextDialog", referenced from:
objc-class-ref in FBSDKGamingServicesKit(FBSDKContextDialogPresenter.o)
"_OBJC_CLASS_$_FBSDKChooseContextDialogFactory", referenced from:
objc-class-ref in FacebookGamingServices(ContextDialogPresenter.o)
ld: 7 symbol(s) not found for architecture arm64

Press any key to continue . . .

linker flags
-F"C:/iOS/FB1121" -framework FBSDKCoreKit -framework FBSDKCoreKit_Basics -framework FBSDKGamingServicesKit -framework FBSDKLoginKit -framework FBSDKShareKit -framework FacebookGamingServices

compiler flags
-F"C:/iOS/FB1121"

append delete #12. Pierre-Marie Baty

Missing symbols mean either a library or framework is missing, *or* an API mismatch.

You say:

I updated to FBSDK to 11.0.0 and static libs to 11.2.1.

The version of the Facebook static libraries that you use does not match the version your game code expects. How can you expect that to link without problems ?

:: @Pierre-Marie Baty added on 08 Nov ’21 · 12:04

I'm making this addition because I realize it might not be obvious.

To all readers. When it comes to code, and unless explicitly stated otherwise by their(s) author(s), *libraries and frameworks are not guaranteed to be backwards compatible*. The safest path is to assume they won't be. This is not only true for iOS but for every programming domain in general. For example, the well-known TLS library OpenSSL 3.0 is not API-compatible with OpenSSL 1.x.

That is why it is crucially important, if you supply extra libraries and frameworks to the linker, that they be 100% API-compatible with your code, and the first thing to verify is that they're at the same version level. If you can't find the exact same version of the library you need available to download, at least pick one that has the same major/minor version number. It is generally (but not always) safe to assume that revision changes are API-compatible. For example, a library version 1.2.5 can be reasonably expected to be compatible with API calls that were written for version 1.2.0. On the other hand, using a library version 1.3.0 with API calls that expect version 1.2.0 is more risky. You understand why using the version 3.4.5 of that library thinking "the higher the better" is not only wrong but asking for trouble...

append delete #13. sathyaraj

Hi,
I tried the precise version because that's the version cocoapods was downloading. In podfile version mentioned was 11.0 and it was downloading 11.2.1 that's the reason I downloaded static libs of 11.2.1 and tried.
I tried static libs of 11.0.0 as well with no luck.
Can you share the linker flags and compiler flags that you used in the sample project I shared with you

append delete #14. sathyaraj

Warning: dependency libswiftAVFoundation is not among the built products. Looking for a precompiled binary

That's the warning I get when I use 11.0.0, before the console disappears

And if add -ObjC I get the following error:
ERROR: embedded dependency depends on unidentified library or framework: libswiftAVFoundation + setting load path for libswiftAVFoundation dylib...

append delete #15. Pierre-Marie Baty

Unfortunately I haven't kept what you sent me. The initial diagnosis was to reproduce a case where the builder wouldn't start, and I couldn't reproduce that.

Please send me your files again if you want me to diagnose further, but do make sure the project can be built with Xcode without problems before sending them to me, to make sure the problem is with the builder and not with the project.

append delete #16. sathyaraj

Yes shared the project again. Please check your email

append delete #17. sathyaraj

Hi, Did you get chance to have a look at the project I shared!

append delete #18. Pierre-Marie Baty

I did.

First try: renamed Podfile, hit Build. GoogleMobileAds header not found. Added GoogleMobileAds-8.8.0 (as required by the Podfile), hit Build again.

Second try: compiler error: "unknown type name GADNativeCustomTemplateAd". This error should not happen on a properly constructed project, because I supplied exactly the SDK requested by the Podfile.

A Google search on this error immediately yielded something that doesn't smell good for you : https://answers.unity.com/questions/1342236/unknown-type-name-gadnativecustomtemplatead-did-yo.html - as it looks like Xcode has the same problem, it tends to indicate it's not a problem with the builder but with the project. I had to check that, and so I did.

Third try: took the fresh zip again, and this time I built it with Xcode + CocoaPods on Mac. Guess what ? Totally consistently, it doesn't build with Xcode and CocoaPods on Mac. Demonstration is made that it's not a problem with the builder.

I asked you to rule out that case specifically before requiring me to spend time on your case. As you're obviously the kind of person who doesn't *want* to follow my guidance and expects me to do *their* work, the next time for you will be paid support.

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