Failed to bundle iOS application

I just tried to bundle iOS application. It failed.
My defold verstion is 1.3.0.
Output in terminal:

Downloading 1 archive(s)
 0: Downloading https://github.com/defold/extension-admob/archive/master.zip
 0: Status 304: Already cached
Build Remote Engine...
2022-06-05 21:25:43.942 Defold[5108:30150988] NSEventModifierFlagFunction specified to -setKeyEquivalentModifierMask: for item <NSMenuItem: 0x600003549ff0 Toggle Assets Pane, ke='Command-F6'>, but is only supported for system-provided menu items; will not be used
ERROR: unspecified:-1: 'com.dynamo.bob.CompileExceptionError: 'arm64-ios' could not be built. Sdk version: '0e77ba11ac957ee01878bbde2e6ac0c9fae6dc01'
Log: '<failed reading log>''
1 Like

Are you using a custom .plist for your project?

no, I am using the builtin one.

1 Like

And what if you try a completely empty project?

I got could not establish an SSL connection error. I am using VPN, should I turn it off?

We’re having some SSL handshake issues and extended the most recent beta which include a fix for this:

An updated version of the editor with this fix included will be released tomorrow (it’s a bank holiday in Sweden today).

1 Like

Thanks for your helps. I just wondering why internet connection is required for bundle iOS application, what we gonna upload to remote engine to bundle iOS application? Is the source code included? I have tried Godot engine before, it supports export as iOS project locally, which is very helpful to edit configuration for the iOS project and submit to appstore in Xcode. Is it possible to make it happen in Defold?

Oh, no you do not need an internet connection to bundle, unless you use extensions.

I thought you got that SSL error when creating a new empty project. The project templates are hosted on GitHub and downloaded by the editor when used. Here’s the empty project template for instance: https://github.com/defold/template-empty

When did you get the SSL error?

After I click create empty project button, defold start to download the template.

Is it possible to export defold project as iOS project locally which can be opened by Xcode? I saw Godot make it, can defold team make it too?

In case you are using native extensions, you might need to build the executable, then ofc you will need internet access to reach the build server.

No, a Defold project is quite different from an XCode (or VIsual Studio project).

Now the build log shows up, but still can’t bundle iOS application.

ld: warning: directory not found for option '-L/usr/local/extender-production/platformsdk/iPhoneOS15.2.sdk/usr/include/c++/v1/usr/lib'
ld: warning: object file (/var/folders/pf/p5g2vb2j0yx1x6vlmxdppc700000gn/T/job17933096945945262348/upload/extension-admob/lib/ios/GoogleAppMeasurement.framework/GoogleAppMeasurement(APMAdExposureReporter.o)) was built for newer iOS version (9.0) than being linked (8.0)
/extension-admob/lib/ios/GoogleMobileAds.framework/Headers/GADMediaView.h
	Line 27: In file included from upload/extension-admob/src/admob_ios.mm:5:
In file included from /var/folders/pf/p5g2vb2j0yx1x6vlmxdppc700000gn/T/job17933096945945262348/upload/extension-admob/lib/ios/GoogleMobileAds.framework/Headers/GoogleMobileAds.h:40:
In file included from /var/folders/pf/p5g2vb2j0yx1x6vlmxdppc700000gn/T/job17933096945945262348/upload/extension-admob/lib/ios/GoogleMobileAds.framework/Headers/GADCustomNativeAd.h:11:
no 'assign', 'retain', or 'copy' attribute is specified - 'assign' is assumed [-Wobjc-property-no-attribute]
@property(nonatomic, nullable) GADMediaContent *mediaContent;
^
/extension-admob/src/admob.cpp
	Line 5: 'DLIB_LOG_DOMAIN' macro redefined [-Wmacro-redefined]
#define DLIB_LOG_DOMAIN LIB_NAME
        ^
	Line 5: previous definition is here
#define DLIB_LOG_DOMAIN "ADMOBEXT"
        ^
	Line 36: format string is not a string literal (potentially insecure) [-Wformat-security]
        luaL_error(L, msg);
                      ^~~
	Line 36: treat the string as an argument to avoid this
        luaL_error(L, msg);
                      ^
                      "%s",
	Line 57: format string is not a string literal (potentially insecure) [-Wformat-security]
        luaL_error(L, msg);
                      ^~~
	Line 57: treat the string as an argument to avoid this
        luaL_error(L, msg);
                      ^
                      "%s",
	Line 78: format string is not a string literal (potentially insecure) [-Wformat-security]
        luaL_error(L, msg);
                      ^~~
	Line 78: treat the string as an argument to avoid this
        luaL_error(L, msg);
                      ^
                      "%s",
	Line 272: enumeration values 'EVENT_ID_DEACTIVATEAPP', 'EVENT_ID_ICONIFYAPP', and 'EVENT_ID_DEICONIFYAPP' not handled in switch [-Wswitch]
    switch(event->m_Event)
           ^
	Line 272: add missing switch cases
    switch(event->m_Event)
           ^
/extension-admob/src/admob_ios.mm
	Line 119: format string is not a string literal (potentially insecure) [-Wformat-security]
                    NSLog([NSString stringWithFormat:@"Error domain: \"%@\". %@", [error domain], [error localizedDescription]]);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	Line 119: treat the string as an argument to avoid this
                    NSLog([NSString stringWithFormat:@"Error domain: \"%@\". %@", [error domain], [error localizedDescription]]);
                          ^
                          @"%@",
	Line 179: format string is not a string literal (potentially insecure) [-Wformat-security]
                    NSLog([NSString stringWithFormat:@"Error domain: \"%@\". %@", [error domain], [error localizedDescription]]);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	Line 179: treat the string as an argument to avoid this
                    NSLog([NSString stringWithFormat:@"Error domain: \"%@\". %@", [error domain], [error localizedDescription]]);
                          ^
                          @"%@",
	Line 239: 5 enumeration values not handled in switch: 'SIZE_ADAPTIVE_BANNER', 'SIZE_FLUID', 'SIZE_SEARH'... [-Wswitch]
        switch (bannerSizeConst) {
                ^
	Line 239: add missing switch cases
        switch (bannerSizeConst) {
                ^
	Line 241: 'kGADAdSizeBanner' is deprecated: Use GADAdSizeBanner [-Wdeprecated-declarations]
            bannerSize = kGADAdSizeBanner;
                         ^
	Line 244: 'kGADAdSizeFullBanner' is deprecated: Use GADAdSizeFullBanner [-Wdeprecated-declarations]
            bannerSize = kGADAdSizeFullBanner;
                         ^
	Line 247: 'kGADAdSizeLargeBanner' is deprecated: Use GADAdSizeLargeBanner [-Wdeprecated-declarations]
            bannerSize = kGADAdSizeLargeBanner;
                         ^
	Line 250: 'kGADAdSizeLeaderboard' is deprecated: Use GADAdSizeLeaderboard [-Wdeprecated-declarations]
            bannerSize = kGADAdSizeLeaderboard;
                         ^
	Line 253: 'kGADAdSizeMediumRectangle' is deprecated: Use GADAdSizeMediumRectangle [-Wdeprecated-declarations]
            bannerSize = kGADAdSizeMediumRectangle;
                         ^
	Line 286: enumeration value 'POS_NONE' not handled in switch [-Wswitch]
        switch (bannerSizeConst) {
                ^
	Line 286: add missing switch cases
        switch (bannerSizeConst) {
                ^
	Line 403: format specifies type 'char *' but the argument has type 'NSError *' [-Wformat]
            dmLogInfo("AdInspector Error: %s", error);
                                          ~~   ^~~~~
	Line 403: expanded from macro 'dmLogInfo'
#define dmLogInfo(format, args...) LogInternal(dmLog::LOG_SEVERITY_INFO, DLIB_LOG_DOMAIN, format, ## args);
                                                                                          ~~~~~~     ^~~~
/extension-admob/lib/ios/GoogleMobileAds.framework/Headers/GADAdSize.h
	Line 167: 'kGADAdSizeBanner' has been explicitly marked deprecated here
GAD_EXTERN GADAdSize const kGADAdSizeBanner GAD_DEPRECATED_MSG_ATTRIBUTE("Use GADAdSizeBanner");
                                            ^
	Line 171: 'kGADAdSizeLargeBanner' has been explicitly marked deprecated here
    GAD_DEPRECATED_MSG_ATTRIBUTE("Use GADAdSizeLargeBanner");
    ^
	Line 175: 'kGADAdSizeMediumRectangle' has been explicitly marked deprecated here
    GAD_DEPRECATED_MSG_ATTRIBUTE("Use GADAdSizeMediumRectangle");
    ^
	Line 180: 'kGADAdSizeFullBanner' has been explicitly marked deprecated here
    GAD_DEPRECATED_MSG_ATTRIBUTE("Use GADAdSizeFullBanner");
    ^
	Line 184: 'kGADAdSizeLeaderboard' has been explicitly marked deprecated here
    GAD_DEPRECATED_MSG_ATTRIBUTE("Use GADAdSizeLeaderboard");
    ^

Could you pls show me IOS section from game.project?

Could you pls also share list of your dependencies and options you are using for bundling? (also what build server you are using)
Because I’m building iOS bundle without any issues, I need more info to figure that out.


image

1 Like



Screen Shot 2022-06-06 at 7.13.02 PM

Ok, one more thing is your defog version (not only version but also SHA)

Sorry, but I can’t repo the issue you have,
pls try to download the latest Defold 1.3.2 (or event 1.3.3 beta) and check it there
Also, if you have a minimal repo project where you reproduce the issue pls share it.

I tried to update defold to 1.3.2, but no luck. Same build error. For android bundle, it works like before. I have no idea why iOS not work. Does the extension admob android and iOS works in different way?