-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compiler warning when adding Swift framework #3200
Comments
What leads you to conclude the issue is caused by CocoaPods? That might help us fix it :) |
It might be a xCode or Swift bug, but since the problem occurred with pods of two independent devs and both of them don't know how to fix this problem I thought it might be a problem with cocoapods. On top of that the file causing the problem (the umbrella header) is as far as I can see a file created by cocoapods (isn't it?) |
@mrackwitz any idea what could be causing this? |
I've been seeing this intermittently. It's usually fixable by clearing derived data. This is using the Xcode 6.3 beta too, as well as 0.36.beta.2, which I needed because I'm using pods with compiled libraries. |
#3092 could be related. I'd be inclined to wait and see if this turns out to be an actual new warning or just beta noise. FWIW, our generated umbrella header does not include the generated ObjC compatibility header. |
Apparently beta noise and/or resolved in a recent update of cocoapods. No more warnings in latest Xcode beta. Thank you guys anyway. |
I'm having this issue using cocoapods |
I saw this today as well, think it makes sense to reopen. |
It seems like the original bug was that clang complains about the Swift bridging headers as missing, which is surprising enough by itself because CocoaPods doesn't set the option |
This seems to me more a mix-up of the frameworks by Xcode when archiving. Note that e.g. the warning for the "Gulps" target complain about not having imported the umbrella headers for "-GulpsToday-" and "-Gulps WatchKit Extension-", indicating that it looks at frameworks intended for other targets. |
@neonichu: Good point. The issue here is likely, that we scope using A possible workaround when using Xcode for archiving for now should be to either clean after archiving (& saving the build products) of a specific target or nuke derived data before archiving. This has to happen between archiving each target, separately. Archiving multiple targets at once in a single scheme could potentially also lead to this issue. When using |
It's not really feasible to archive extensions separately from the host app, I think, so we should think about scoping |
I removed the extensions' targets from the Podfile, removed the cocoapods integration from the extensions and integrated the common lib manually. The project now can be archived just fine. |
Hello, source 'https://github.com/CocoaPods/Specs.git' platform :osx, '10.10' xcodeproj 'Spot-em' pod 'sqlite3' target 'Spot-em' do end target 'Spot-emTests' do end |
Same here. Here my Podfile
|
+1 please fix this :D |
Ran into the same issue 😭looking for workaround to submit my app |
Having issues with this as well when trying to build an app with a WatchKit Extension. Using cocoa pods version 0.37.2. I'm getting a bunch of Compiler warnings saying the Unblress Header for module... does not include header...-umbrella.h This only happens when I attempt to archive the project. I have turned parallelize build off on all targets.
|
Thought maybe this had something to do with using a bridging header to support objective-c libraries in my local project. Ripped that out and still the same issues. |
Thanks for the detailed reports, the problem is well understood from our side. It is related to CP building individual frameworks for each target integration. The changes in PR #3550 will eventually solve this, but it is not quite ready yet. |
There's actually a beta release including the changes as well, which you can install using |
Thank you @neonichu @basememara I tried that already, but it caused different issues. Particularly I have troubles with AWSiOSSDK and MagicalRecord. For the first one I had to enable "Include of non-modular header inside framework module" which is fine. But then I get the error message "Module 'MagicalRecord' not found" but only when building for an iOS device. It runs fine on iOS simulator. Also archiving still emits errors like "Umbrella header for module 'CocoaLumberjack' does not include header 'Pods-osceframeworkios-CocoaLumberjack-umbrella.h'". I spend almost a day trying to get that to work. |
I'm running into the same issue during archive (no issues during debug). Here's my platform :ios, '8.0'
use_frameworks!
target 'Decode' do
pod 'DecodeKit', :path => '/Users/tanner/Blue Bite/decode/decode-kit/DecodeKit'
pod 'BeckonKit'
end
target 'Nearby' do
pod 'DecodeKit', :path => '/Users/tanner/Blue Bite/decode/decode-kit/DecodeKit'
end And the product does not show up in the Organizer. I tried to install the latest version of CocoaPods, but this is happening:
So I can't verify if the 0.38 beta fixes this issue. |
|
Updated my project with Thank you, @segiddins ! |
Calling this fixed then 👍 |
I'm on 0.38.2 and I'm still having this issue where I can't submit my app. source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
platform :ios, '8.0'
link_with 'Bubble', 'Bubble WatchKit Extension'
def shared_pods
pod 'Parse'
end
target :Bubble do
shared_pods
pod 'ParseUI'
pod 'ParseFacebookUtilsV4'
pod 'AFNetworking', '~> 2.0'
pod 'SlackTextViewController', '1.5'
pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'
pod 'FBSDKShareKit'
pod 'Mercury'
pod 'JazzHands'
end
target :'Bubble WatchKit Extension' do
shared_pods'
end |
@chayelheinsen your problem is probably that you use both |
I also had the same problem without the link_with and just target blocks. Should I try I the other way around without target blocks? Thank you. |
I'm also having the same issue as @chayelheinsen. Not using They recently split the project into two different Pod Specs, In @chayelheinsen's pod spec, he is including in his app extension: On the other hand, he's importing (taken from my own Ideally, Bolts framework should be built with the two subspecs However, this is not what is happening, as in the end the same framework file is being symlinked from the two targets: -Notice the two targets reference If I remove all references to Any thoughts? |
@ale0xb I think the issue might be that Xcode actually doesn't support two different versions of the same framework, so application extension and app itself need to use the same subspecs so that a valid archive can be produced. |
@neonichu You're totally right. I removed the use_frameworks! option and it compiles just fine. Goddammit Apple... |
@neonichu would love some clarification on this: This is my podfile
if I try to remove use_frameworks! as @ale0xb suggested, i get the following error: |
I have xCode 7.1, this is my pod file:
as @dmathewwws said, if I comment the |
I added |
If you want to use Swift dependencies, you need to keep
That's definitively not a good way. You will loose your changes on the next run of I wonder that this problem re-appears for you. Which version of CocoaPods are you using? |
@mrackwitz I'm using version 0.39.0 |
Hi
|
So it seems that this issue is a bit old and still unresolved? I too have cocoapods 0.39 and am getting the same warnings like everyone else. Has anybody tried using the cocoapods 1.0.0.beta.4? |
+1. CocoaPods 0.39 and use_frameworks! |
I'm also experiencing this problem with CocoaPods 0.39. Any clues? |
Experiencing this with 1.0.0.beta.6 when archiving. |
Hi, |
Hi @VenuKotha! Thanks for letting us know! This issue has been closed for a long time, so we'd appreciate if you could open a new issue and fill out the issue template. If you could do that, we'd be happy to help. Thanks! |
Hi Ben, |
@VenuKotha sorry I'm not sure what you mean. I was asking if you could file a new one. |
I have added two Swift frameworks (Locksmith and SwiftyUserDefaults) to my project, integrated through CocoaPods (using version 0.36.0.rc.1 and explicitly stating
use_frameworks!
within my PodFile).Both framework produce the same xCode compiler warning (using xCode 6.3 Beta):
and
After talking to the developer of the frameworks we conclude that the root of the problem might be CocoaPods.
The text was updated successfully, but these errors were encountered: