damianesteban damianesteban - 1 year ago 105
Swift Question

cocoapods 0.37.1 - when updating Podfile, frameworks are no longer linked

I've been struggling with this for a few days now on and off and I could use some guidance.

Below is the contents of my original Podfile:

pod 'Parse', '~> 1.7.1'
pod 'ParseUI', '~> 1.1.3'
pod 'ParseCrashReporting'

Everything was working fine until the other day when I decided to add some more pods. Here is what my Podfile looks like now:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

pod 'Parse', '~> 1.7.1'
pod 'ParseUI', '~> 1.1.3'
pod 'ParseCrashReporting'
pod 'Alamofire', '~> 1.2'

As you can see, I am attempting to add Alamofire. When I do a

$ pod update
$ pod install

it appears that everything installs ok. However, when I open up my project in Xcode and it finishes indexing, all hell has broken loose (well, not really).

It seems that Parse is no longer linked to my project, as I have 50+ errors along the lines of:

Use of undeclared type 'PFLogInViewController'

I'm not at all new to Ruby/Gemfiles or the command line, but I am fairly new to Xcode and Cocoapods.

Any help would be appreciated. Thank you.

EDIT: Below is my bridging header.

// Objective-C Bridging File
#import <Foundation/Foundation.h>
#import <Parse/Parse.h>
#import <ParseCrashReporting/ParseCrashReporting.h>
#import <ParseUI/ParseUI.h>
#import <Bolts/Bolts.h>


I am getting the following error after I do a
pod install

Error: unable to read module map contents from 'Target Support Files/Pods-Parse/Pods-Parse.modulemap': Error Domain=NSCocoaErrorDomain Code=260 "The file “Pods-Parse.modulemap” couldn’t be opened because there is no such file." UserInfo=0x7fc988cd4920 {NSFilePath=/Volumes/BigMan/Code/Swift/ProjectName/Pods/Target Support Files/Pods-Parse/Pods-Parse.modulemap, NSUnderlyingError=0x7fc98ac96850 "The operation couldn’t be completed. No such file or directory"}

Answer Source

Bridging header is necessary only if you are building CocoaPods to static library. After switching to frameworks, you should use import ParseUI in your source files instead.