添加'use_frameworks!'在podfile中打破应用程序

时间:2016-03-21 13:31:52

标签: ios objective-c swift cocoapods

我的iOS应用包含objective-C和Swift代码。现在我在pod文件的顶部添加了 use_frameworks!来使用一些swift库。不幸的是,它开始出现编译错误。

我的pod版本:0​​.39.0

它开始抱怨bridge.h文件中的导入

Pod文件包含objective-C库。现在我想添加swift库。

我该如何解决这个问题。如果需要更多细节,请告诉我

use_frameworks!
platform :ios, '9.0'

xcodeproj 'Test.xcodeproj'

def devDependecies

    pod 'SocketRocket'
    pod 'CocoaLumberjack'
    pod 'MRProgress'
    pod 'GRMustache', '~> 7.3.0' 
    pod 'Realm', '=0.96.2'
    pod 'ADALiOS'
    pod 'Office365/Outlook'
    pod 'Office365/Discovery'
    pod 'AFNetworking'
    #https://github.com/youtube/youtube-ios-player-helper/issues/160
    pod 'youtube-ios-player-helper', :git=>'https://github.com/youtube/youtube-ios-player-helper', :commit=>'head'
    pod 'iOSCalendarEventParser', '=0.0.4'
    pod 'OneDriveSDK'

end


target 'Test' do
    devDependecies
end

bridge.h文件中的示例错误: enter image description here

但是这个文件存在于pod目录下。 enter image description here

2 个答案:

答案 0 :(得分:0)

'youtube-ios-player-helper'可以编译为框架。 所以从桥头中删除它,只需在Swift类中添加一个导入行

import youtube-ios-player-helper

对可以编译为框架的所有pod执行相同的操作

答案 1 :(得分:0)

此时Xcode不允许这样做。 use_frameworks仅适用于swift pod或库。如果添加目标C库,则需要使用桥接头,因此需要删除use_frameworks指令才能使其正常工作。我发现的唯一工作是只通过pod导入目标C库和可以手动添加它们的swift库。您可以复制类名称和内容,并像使用它们一样使用它们。