Bundling to iOS with Defold v1.2.182 (SOLVED)

Upgrading to v1.2.182 produces a rather extensive list of errors when bundling to iOS for me. See below. It seems to have something to do with the UnityAds and Facebook extensions (both up to date).

Update: Bundling to Android still works.

Before I revert to 181, is there something I have overlooked?

Dependencies (oh, nice formatting!):

dependencies#0 = https://github.com/rgrams/rendercam/archive/1.0.3.zip
dependencies#1 = https://github.com/britzl/monarch/archive/3.2.2.zip
dependencies#2 = https://github.com/britzl/gooey/archive/9.1.0.zip
dependencies#3 = https://github.com/AGulev/set_screen_position/archive/master.zip
dependencies#4 = https://github.com/indiesoftby/defold-hyper-trails/archive/1.0.0.zip
dependencies#5 = https://github.com/defold/extension-gpgs/archive/2.2.0.zip
dependencies#6 = https://github.com/animonger/extension-gamekit/archive/master.zip
dependencies#7 = https://github.com/AGulev/DefVideoAds/archive/refs/tags/3.7.1.zip
dependencies#8 = https://github.com/defold/extension-firebase-analytics/archive/1.4.2.zip
dependencies#9 = https://github.com/defold/extension-iap/archive/3.0.1.zip
dependencies#10 = https://github.com/GameAnalytics/defold-openssl/archive/1.0.0.zip
dependencies#11 = https://github.com/GameAnalytics/GA-SDK-DEFOLD/archive/3.3.10.zip
dependencies#12 = https://github.com/defold/extension-facebook/archive/refs/tags/6.2.0.zip

Errors:

/facebook/src/facebook_ios.mm
  Line 363: null passed to a callee that requires a non-null argument [-Wnonnull]
            [g_Facebook.m_Login reauthorizeDataAccess:nil handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
                                ^                     ~~~
  Line 404: null passed to a callee that requires a non-null argument [-Wnonnull]
                FBSDKURL *parsedUrl = [FBSDKURL URLWithInboundURL:url sourceApplication:nil];
                                                ^                                       ~~~
  Line 539: unknown type name 'dmhash_t'
    dmhash_t dialog = dmHashString64(luaL_checkstring(L, 1));
    ^
  Line 539: use of undeclared identifier 'dmHashString64'
    dmhash_t dialog = dmHashString64(luaL_checkstring(L, 1));
                      ^
  Line 544: use of undeclared identifier 'dmHashString64'
    if (dialog == dmHashString64("feed")) {
                  ^
  Line 552: null passed to a callee that requires a non-null argument [-Wnonnull]
        [FBSDKShareDialog showFromViewController:nil withContent:content delegate:g_Facebook.m_Delegate];
                          ^                      ~~~
  Line 554: use of undeclared identifier 'dmHashString64'
    } else if (dialog == dmHashString64("apprequests") || dialog == dmHashString64("apprequest")) {
                         ^
  Line 554: use of undeclared identifier 'dmHashString64'
    } else if (dialog == dmHashString64("apprequests") || dialog == dmHashString64("apprequest")) {
                                                                    ^


/defunityads/lib/ios/UnityAds.framework/Headers/UADSBaseOptions.h
  Line 9: In file included from upload/defunityads/src/ios/DefUnityAdsIOS.mm:6:
In file included from /tmp/job18068160072919340107/upload/defunityads/lib/ios/UnityAds.framework/Headers/UnityAds.h:38:
In file included from /tmp/job18068160072919340107/upload/defunityads/lib/ios/UnityAds.framework/Headers/UADSLoadOptions.h:1:
no 'assign', 'retain', or 'copy' attribute is specified - 'assign' is assumed [-Wobjc-property-no-attribute]
@property (nonatomic, readwrite) NSString* objectId;
^
  Line 9: default property attribute 'assign' not appropriate for object [-Wobjc-property-no-attribute]



/defunityads/lib/ios/UnityAds.framework/Headers/UADSLoadOptions.h
  Line 5: In file included from upload/defunityads/src/ios/DefUnityAdsIOS.mm:6:
In file included from /tmp/job18068160072919340107/upload/defunityads/lib/ios/UnityAds.framework/Headers/UnityAds.h:38:
no 'assign', 'retain', or 'copy' attribute is specified - 'assign' is assumed [-Wobjc-property-no-attribute]
@property (nonatomic, readwrite) NSString* adMarkup;
^
  Line 5: default property attribute 'assign' not appropriate for object [-Wobjc-property-no-attribute]



/defunityads/lib/ios/UnityAds.framework/Headers/UMONCustomEvent.h
  Line 4: In file included from upload/defunityads/src/ios/DefUnityAdsIOS.mm:6:
In file included from /tmp/job18068160072919340107/upload/defunityads/lib/ios/UnityAds.framework/Headers/UnityAds.h:10:
In file included from /tmp/job18068160072919340107/upload/defunityads/lib/ios/UnityAds.framework/Headers/UMONPlacementContent.h:2:
no 'assign', 'retain', or 'copy' attribute is specified - 'assign' is assumed [-Wobjc-property-no-attribute]
@property (nonatomic) NSString* category;
^
  Line 4: default property attribute 'assign' not appropriate for object [-Wobjc-property-no-attribute]
  Line 5: no 'assign', 'retain', or 'copy' attribute is specified - 'assign' is assumed [-Wobjc-property-no-attribute]
@property (nonatomic) NSString* type;
^
  Line 5: default property attribute 'assign' not appropriate for object [-Wobjc-property-no-attribute]
  Line 6: no 'assign', 'retain', or 'copy' attribute is specified - 'assign' is assumed [-Wobjc-property-no-attribute]
@property (nonatomic) NSDictionary* userInfo;
^
  Line 6: default property attribute 'assign' not appropriate for object [-Wobjc-property-no-attribute]



/defunityads/lib/ios/UnityAds.framework/Headers/UMONPlacementContent.h
  Line 13: In file included from upload/defunityads/src/ios/DefUnityAdsIOS.mm:6:
In file included from /tmp/job18068160072919340107/upload/defunityads/lib/ios/UnityAds.framework/Headers/UnityAds.h:10:
no 'assign', 'retain', or 'copy' attribute is specified - 'assign' is assumed [-Wobjc-property-no-attribute]
@property(nonatomic) NSDictionary *userInfo;
^
  Line 13: default property attribute 'assign' not appropriate for object [-Wobjc-property-no-attribute]



/defunityads/src/DefUnityAds.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 "DEFUNITYADS"
        ^
  Line 32: ISO C++11 does not allow conversion from string literal to 'char *' [-Wwritable-strings]
  char *placementId_lua = "";
                          ^
  Line 41: ISO C++11 does not allow conversion from string literal to 'char *' [-Wwritable-strings]
  char *placementId_lua = "";
                          ^
  Line 75: ISO C++11 does not allow conversion from string literal to 'char *' [-Wwritable-strings]
  char *placementId_lua = "";
                          ^


/defunityads/src/ios/DefUnityAdsIOS.mm
  Line 90: 'show:' is deprecated: Please migrate to using show call with placementId and showDelegate instead [-Wdeprecated-declarations]
        [UnityAds show:uiViewController];
                  ^
  Line 94: 'show:placementId:' is deprecated: Please migrate to using show call with showDelegate instead [-Wdeprecated-declarations]
        [UnityAds show:uiViewController placementId:placementId_s];
                  ^
  Line 106: 'isReady' is deprecated: Please migrate to using load call with UnityAdsLoadDelegate [-Wdeprecated-declarations]
        status = [UnityAds isReady];
                           ^
  Line 110: 'isReady:' is deprecated: Please migrate to using load call with UnityAdsLoadDelegate [-Wdeprecated-declarations]
        status = [UnityAds isReady:placementId_s];
                           ^
  Line 176: comparison of different enumeration types in switch statement ('dmUnityAds::DefUnityBannerPosition' and 'UnityAdsBannerPosition') [-Wenum-compare-switch]
            case kUnityAdsBannerPositionNone:
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  Line 176: case value not in enumerated type 'dmUnityAds::DefUnityBannerPosition' [-Wswitch]


/facebook/lib/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkNavigation.h
  Line 110: In file included from <module-includes>:1:
In file included from /tmp/job18068160072919340107/upload/facebook/lib/ios/FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h:77:
unknown attribute 'swift_error' ignored [-Wunknown-attributes]
__attribute__((swift_error(nonnull_error)));
               ^
  Line 122: unknown attribute 'swift_error' ignored [-Wunknown-attributes]
__attribute__((swift_error(nonnull_error)));
               ^
While building module 'FBSDKLoginKit' imported from upload/facebook/src/facebook_ios.mm:9:


/facebook/lib/ios/FBSDKCoreKit.framework/Headers/FBSDKUtility.h
  Line 49: In file included from <module-includes>:1:
In file included from /tmp/job18068160072919340107/upload/facebook/lib/ios/FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h:73:
unknown attribute 'swift_error' ignored [-Wunknown-attributes]
__attribute__((swift_error(nonnull_error)));
               ^
While building module 'FBSDKCoreKit' imported from upload/facebook/src/facebook_ios.mm:8:


/facebook/lib/ios/FBSDKLoginKit.framework/Headers/FBSDKReferralCode.h
  Line 39: default property attribute 'assign' not appropriate for object [-Wobjc-property-no-attribute]
  Line 39: In file included from <module-includes>:1:
In file included from /tmp/job18068160072919340107/upload/facebook/lib/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginKit.h:34:
In file included from /tmp/job18068160072919340107/upload/facebook/lib/ios/FBSDKLoginKit.framework/Headers/FBSDKReferralManagerResult.h:25:
no 'assign', 'retain', or 'copy' attribute is specified - 'assign' is assumed [-Wobjc-property-no-attribute]
@property NSString *value;
^


/defunityads/lib/ios/UnityAds.framework/Headers/UnityAds.h
  Line 186: 'show:' has been explicitly marked deprecated here
+ (void)show:(UIViewController *)viewController __attribute__((deprecated("Please migrate to using show call with placementId and showDelegate instead")));
                                                               ^
  Line 193: 'show:placementId:' has been explicitly marked deprecated here
+ (void)show:(UIViewController *)viewController placementId:(NSString *)placementId __attribute__((deprecated("Please migrate to using show call with showDelegate instead")));;
                                                                                                   ^
  Line 273: 'isReady' has been explicitly marked deprecated here
+ (BOOL)isReady __attribute__((deprecated("Please migrate to using load call with UnityAdsLoadDelegate")));
                               ^
  Line 281: 'isReady:' has been explicitly marked deprecated here
+ (BOOL)isReady:(NSString *)placementId __attribute__((deprecated("Please migrate to using load call with UnityAdsLoadDelegate")));
                                                       ^
1 Like

This issue fixed a couple of weeks ago in master, but without release of a separate version of the extension. I’ve just released it. Please update you FB extension version.

https://github.com/defold/extension-facebook/archive/refs/tags/6.2.1.zip

2 Likes

Nice one! Will give that version a spin tomorrow.

Update: Builds fine!

2 Likes