objective-c - Cocoapods 使用_frameworks!进口问题

标签 objective-c xcode cocoapods facebook-ios-sdk

我想在我的 Objective-C 应用程序中使用一些 Swift pod,因此我需要使用框架而不是静态库。但是启用 use_frameworks!在我的 Podfile 中导致音调为 #import错误。

我的播客文件:

platform :ios, '8.0'
use_frameworks!

pod 'AFNetworking', '2.6.0'
pod 'Typhoon'
pod 'SSKeychain'
pod 'JBWebViewController'
pod 'TTTAttributedLabel'
pod 'HockeySDK'
pod 'GoogleAnalytics'
pod 'Intercom'
pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'
pod 'UIButton+Activity'
pod 'HexColors'
pod 'AFNetworkActivityLogger'
pod 'HCSStarRatingView', :git => 'https://github.com/hsousa/HCSStarRatingView.git'
pod 'LGSideMenuController'
pod 'DateTools'
pod 'SDWebImage'
pod 'SSCWhatsAppActivity'
pod 'UIViewController+BlockSegue'

第一个问题是 SSKeychain pods :

SSKeychain Error

在代码中,我使用“引号”包含了 SSKeychain #import "SSKeychain/SSKeychain.h" ,但如果我理解正确,我需要使用 <angle>从现在开始#import <SSKeychain/SSKeychain.h> ?但在这种情况下,我收到了同样的错误,但在我的代码中。

我的构建阶段:

Build Phases

无论如何,我已经找到带有“引号”导入 ( https://github.com/adamwulf/sskeychain/commit/2b7fd878415e8e4f23f74636cdd8c993466d0749 ) 的 SSKeychain 的分支并切换到那些版本。

但现在我对许多其他 pod(几乎所有 pod)都有同样的问题:

FBSDKCoreKit error

在应用程序中导入:#import "FBSDKCoreKit/FBSDKCoreKit.h"

我真的需要 fork 每个 repo 并更改导入语句吗??或者我以错误的方式包含 pod?

PS:我在每次构建尝试之前清理派生数据和项目。

Cocoapods 版本:0.39.0

最佳答案

如您所用Modules在你的 Podfile 中,你为什么不:

@import SSKeychain;

代替:

#import <SSKeychain/SSKeychain.h>

测试一下:

  • 创建一个简单的 iOS 项目,只有一个 ViewController
  • 使用上面的代码创建一个 Podfile
  • 运行 pod 安装
  • 打开工作区
  • 构建并运行:编译成功

关于objective-c - Cocoapods 使用_frameworks!进口问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34429793/

相关文章:

ios - 用于查看特定内存地址处人类可读值的 LLDB 命令

iphone - 多个 View Controller 的方向

ios - 单元测试 key

xcode - Xcode 相当于 Eclipse 的 "Insert Best Guessed Arguments"是什么?

ios - Pod 安装,代理问题

ios - 如何在 iOS 和 tvOS 上使用相同的 pod?

iphone - 加入 NSArray 中的对象

ios - 如何使用 NSUserDefaults 将项目添加到 NSMutableArray

ios - 构建应用程序时 Xcode 9 Main.storyboard 错误 "Internal error. Please file a bug at bugreport.apple.com and attach "

iphone - iOS 复制 SQLite 数据库并将其从 iCloud 中排除