mapbox / mapbox-gl-native-ios

Interactive, thoroughly customizable maps for iOS powered by vector tiles and OpenGL
https://www.mapbox.com/mobile/
Other
210 stars 122 forks source link

150+ Build Warnings in Xcode 12 #330

Open parrots opened 4 years ago

parrots commented 4 years ago

Steps to reproduce

  1. Install MapBox iOS SDK v5.9 via Carthage

Expected behavior

The parent project should build without warnings.

Actual behavior

The parent project builds, but MapBox contributes ~175 errors when the framework is imported. All of white revolve around imports within the framework. Double-quoted include "XXXX.h" in framework header, expected angle-bracketed instead.

Screen Shot 2020-07-08 at 11 02 42 AM

Configuration

Mapbox SDK versions: Tested / seen on 5.7, 5.9, probably relates to all iOS/macOS versions: All Device/simulator models: All Xcode version: 12

knov commented 4 years ago

Thank you @parrots. We are working on this issue.

fabian-guerra commented 4 years ago

@parrots I am testing a new Swift project with Xcode version 12.0 beta 3 (12A8169g) and Carthage version 0.35.0, and I don't get any warnings. Could you please share your project setup?

parrots commented 4 years ago

This issue existed in Xcode 12 beta 1 and beta 2, but I'm not seeing it happen in beta 3. Hopefully this means it is fixed, guess we'll see what happens in b4.

Edit: Actually, I just did a clean build / delete derived data and the warnings are back.

fabian-guerra commented 4 years ago

@parrots could you please share your conf or a test project?

parrots commented 4 years ago

I'm running Xcode 12 (12A8169g), Carthage 0.35.0, with the following Cartfile:

binary "https://api.mapbox.com/downloads/v2/carthage/mobile-maps/mapbox-ios-sdk-dynamic.json" ~> 6.0.0
github "mapbox/mapbox-events-ios" ~> 0.10

If you need any more information about my configuration, let me know.

I'm also seeing these warnings as part of the build process on Bitrise (also Xcode 12 beta 3 and Carthage 0.35.0):

Screen Shot 2020-07-29 at 4 25 17 PM

Do you have Quoted Include In Framework header on at the project level? That's a new warning introduced with Xcode 12 (on by default, I believe).

fabian-guerra commented 4 years ago

@parrots I apologize for my late reply. I tried using 6.0.0 this is carthage log:

*** Cloning mapbox-events-ios
*** Downloading binary-only framework mapbox-ios-sdk-dynamic at "https://api.mapbox.com/downloads/v2/carthage/mobile-maps/mapbox-ios-sdk-dynamic.json"
*** Checking out mapbox-events-ios at "v0.10.2"
*** Downloading binary-only framework mapbox-ios-sdk-dynamic at "https://api.mapbox.com/downloads/v2/carthage/mobile-maps/mapbox-ios-sdk-dynamic.json"
*** xcodebuild output can be found in /var/folders/d3/nr3q6h9j47g7fy8smbj0q7y40000gq/T/carthage-xcodebuild.AUUQr2.log
*** Downloading mapbox-ios-sdk-dynamic.framework binary at "6.0.0"
*** Downloading mapbox-events-ios.framework binary at "v0.10.2"
*** Building scheme "MapboxMobileMetrics" in MapboxMobileEvents.xcodeproj
*** Building scheme "MapboxMobileEvents" in MapboxMobileEvents.xcodeproj

I am using a swfit test project that adds a MapView in Xcode Version 12.0 beta 4 (12A8179i). I don't get any warnings.

I turned on/off (YES/NO) Quoted Include In Framework heade with the same results. No warnings.

Are you still seeing this?

Hartistic commented 4 years ago

Same issue here but getting over 250 warnings, as some are presenting with double warning boxes. Any update on when this will be addressed? Using latest Mapbox version on Xcode 12

Hartistic commented 4 years ago

Seems like it would be pretty non-trivial to change these to angle brackets and make the devs happy.
It just wants to see #import <Mapbox/MGLGeometry.h> instead of #import "MGLGeometry.h"

1ec5 commented 4 years ago

It should be possible at this point to replace the individual header imports with #import <Mapbox/Mapbox.h> or even @import Mapbox;. The individual header imports were there to support building the SDK as a static library, which is no longer supported.