我想在Objective-C应用程序中使用一些Swift pod,所以我需要使用框架而不是静态库。但是在我的Podfile中启用use_frameworks!
会导致#import
错误。
我的Podfile:
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
pod:
在代码中我使用“引号”#import "SSKeychain/SSKeychain.h"
包含SSKeychain,但如果我理解正确,我需要从<angle>
开始使用#import <SSKeychain/SSKeychain.h>
?但在这种情况下,我收到相同的错误,但在我的代码中。
我的构建阶段:
无论如何,我发现SSKeychain的分叉带有“引号”导入(https://github.com/adamwulf/sskeychain/commit/2b7fd878415e8e4f23f74636cdd8c993466d0749)并切换到那些版本。
但现在我和许多其他豆荚(几乎全部都有)有同样的问题:
在应用中导入:#import "FBSDKCoreKit/FBSDKCoreKit.h"
我真的需要分叉每个repo并更改import语句吗?或者我以错误的方式包括豆荚?
PS:我在每次构建尝试之前清理派生数据和项目。
Cocoapods版本:0.39.0
答案 0 :(得分:12)
由于你在Podfile中使用了Modules,为什么不呢:
struct Foo;
impl Foo {
fn foo(&mut self, bar: &mut Bar) {
bar.bar();
}
}
struct Bar;
impl Bar {
fn bar(&mut self) {
println!("bar")
}
}
struct Tupled(Foo, Bar);
impl Tupled {
fn foobar(&mut self) {
self.0.foo(&mut self.1);
}
}
struct Named {
foo: Foo,
bar: Bar,
}
impl Named {
fn foobar(&mut self) {
self.foo.foo(&mut self.bar);
}
}
fn main() {
let mut tupled = Tupled(Foo, Bar);
tupled.foobar();
let mut named = Named{ foo: Foo, bar: Bar };
named.foobar();
}
而不是:
@import SSKeychain;
测试:
答案 1 :(得分:7)
我终于想通了!通过从链接二进制文件库中删除private void Event1
{
//do something..
}
private void Event2
{
//do other things
}
private void Event3
{
//Here I want to return to the event 1 to make a loop
}
并再次手动添加它们来解决此问题。
感谢您的帮助!
答案 2 :(得分:0)
同时检查pod install
上的错误消息。
在我的情况下,我在FRAMEWORK_SEARCH_PATHS
中使用自定义导入,只是因为我这样做,每当我执行pod install
时,CocoaPods添加的额外搜索路径都没有被添加。所以我不得不删除我的自定义路径,然后他们出现了。然后我添加了自定义路径。
最好做pod deintegrate
,删除de xcworkspace文件并再次执行pod install
。然后添加自定义构建设置。
这是我得到的错误:
[!] The App [Debug] target overrides the FRAMEWORK_SEARCH_PATHS
build setting defined in Pods/Target Support Files/Pods-AppLib/Pods-AppLib.debug.xcconfig.
This can lead to problems with the CocoaPods installation
答案 3 :(得分:0)
在我的情况下,我已经为Objective C Project下载了几个ObjC Pods的问题然后我需要一个swift pod,所以我在我的pod文件中启用use_framwork
并安装那个swift pod,安装后的swift pod导入问题在很多类中都会到达ObjeC库,所以
我采取了哪些措施来解决此问题?
cd path/myProject
pod install
pod install