Lots of warnings when building detached project

After detaching and building (debug config) my project, I get the following warnings (abridged) on Xcode:

  • Build target lottle-ios
    • CompileLOTAnimationTransitionController.m (10)
      • Pointer is missing a nullability type specifier
    • CompileLOTAnimationView.m (8)
      • Pointer is missing a nullability type specifier (5)
      • Method definition for ‘setAnimationDoesLoop:’ not found
      • Method definition for ‘setAnimatedProgress:’ not found
      • Method definition for ‘setAnimationSpeed:’ not found
    • CompileLOTCompositionLayer.m (10)
      • Pointer is missing a nullability type specifier
  • Build target React
    • CompileArt*.m (37)
      • Empty paragraph passed to ‘@abstract’ command
    • Compile RCTConvert.m
      • Implicit conversion loses integer precision: ‘unsigned long long’ to ‘UIDataDetectorTypes’ (aka ‘enum UIDataDetectorTypes’)
  • Build target ExpoKit
    • Compile EXAnimationViewManager.m (10)
      • Pointer is missing a nullability type specifier
    • Compile EXAVPlayerData.m (2)
      • Format specifies type ‘long’ but the argument has type ‘int _Nullable’
    • Compile ExContainerView.m (10)
      • Pointer is missing a nullability type specifier
    • Compile EXCErrorRecoverManager.m
      • ‘kEXErrorRecoverySetPropsNotification’ is deprecated
    • Compile EXFileSystem.m
      • Incompatible pointer to integer conversion sending ‘id _Nullable’ to parameter of type ‘BOOL’ (aka ‘signed char’)
    • Compile EXGoogleAuthManager.m
      • ‘kEXDidBeginOAuthFlowNotification’ is deprecated
    • Compile EXKernelLinkingManager.m
      • ‘kEXKernelOpenUrlNotification’ is deprecated: Use openUrl
      • ‘kEXKernelRefreshForegroundTaskNotification’ is deprecated
    • Compile EXKernelModule.m
      • ‘kernelModuleDidSelectKernelDevMenu:’ is deprecated
    • Compile EXKernelModuleManager.m
      • Parameter ‘manifestUrl’ not found in the function declaration
    • Compile EXKernelReactAppManager.m (5)
      • Parameter of ‘swift_name’ attribute must be a Swift function name string
    • Compile EXManifestResource.m
      • Parameter ‘manifestUrl’ not found in the function declaration
    • Compile ExpoKit.m
      • Incompatible pointer to integer conversion sending ‘NSNumber *’ to parameter of type ‘BOOL’ (aka ‘signed char’)
    • Compile EXRemoteNotificationManager.m
      • ‘kEXKernelGetPushTokenNotification’ is deprecated 422 warnings (I might have skipped some).
    • Compile EXScreenOrientationManager.m
      • ‘kEXChangeForegroundTaskSupportedOrientationsNotification’ is deprecated
    • Compile EXSQLite.m
      • Implicit conversion loses integer precision: ‘sqlite3_int64’ (aka ‘long long’) to ‘long’
    • Compile RNSVG*.m (108)
      • Empty paragraph passed to ‘@abstract’ command
  • Build target [my app’s name]
    • Compile AppDelegate.m
      • ‘UILocalNotification’ is deprecated: first deprecated in iOS 10.0 - Use UserNotifications Framework’s UNNotificationRequest
    • Link …Debug-iphoneos/[appname].build/Objects-normal/armv7/[appname]
      • Meta method ‘isRegisteredURLScheme:’ in category from …libExpoKit.a(EXFacebook.o) overrides method from class in …FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKInternalUtility.o)
      • Meta method ‘UIStatusBarAnimation:’ in category from …ExpoKit/libExpoKit.a(EXStatusBarManager.o) conflicts with same method from another category
      • Meta method ‘UIStatusBarStyle:’ in category from …ExpoKit/libExpoKit.a(EXStatusBarManager.o) conflicts with same method from another category
    • Link …Debug-iphoneos/[appname].build/Objects-normal/arm64/[appname]
      • Same as preceeding
    • Compile asset catalogs
      • The app icon set “AppIcon” has 4 unassigned children.

Xcode reportse 422 warnings in total (I might have skipped some here).
The project does build successfully though.

Are these warnings expected? Should I worry about them?

Xcode: 8.3
iOS: 10.3

Yeah, they’re generally expected! They are generally either because (1) we support iOS 9 and so still use some deprecated libraries, or (2) we link against third party libraries which themselves contain warnings. You can disable warnings in third-party libraries with the inhibit_all_warnings! directive in your Podfile.

1 Like