[英]Facebook Login on iPhone causes “lang: error: linker command failed”
以下是我的UIViewController,用于请求Facebook登录和publish_actions权限。 当我运行我的项目时,我得到一个lang: error: linker command failed with exit code 1 (use -v to see invocation)
,我也在下面包含。 谢谢你的帮助
的UIViewController
#import "FacebookViewController.h"
#import <MobileCoreServices/MobileCoreServices.h>
@interface FacebookViewController ()<FBLoginViewDelegate>
@end
@implementation FacebookViewController
- (void)viewDidLoad {
[super viewDidLoad];
FBLoginView *loginview = [[FBLoginView alloc] init];
loginview.frame = CGRectOffset(loginview.frame, 5, 5);
#ifdef __IPHONE_7_0
#ifdef __IPHONE_OS_VERSION_MAX_ALLOWED
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_7_0
if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)]) {
loginview.frame = CGRectOffset(loginview.frame, 5, 5);
}
#endif
#endif
#endif
loginview.delegate = self;
[self.view addSubview:loginview];
[loginview sizeToFit];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - FBLoginViewDelegate
- (void)loginViewShowingLoggedInUser:(FBLoginView *)loginView {
// ask for more permission
if ([FBSession.activeSession.permissions indexOfObject:@"publish_actions"] == NSNotFound) {
// if we don't already have the permission, then we request it now
[FBSession.activeSession requestNewPublishPermissions:@[@"publish_actions"]
defaultAudience:FBSessionDefaultAudienceFriends
completionHandler:^(FBSession *session, NSError *error) {
if (!error) {
//No error therefore dismiss this VC
[self dismissThisViewController];
} else if (error.fberrorCategory != FBErrorCategoryUserCancelled) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Permission denied"
message:@"Unable to get permission to post"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
}
}];
}
}
- (void)loginView:(FBLoginView *)loginView handleError:(NSError *)error {
// see https://developers.facebook.com/docs/reference/api/errors/ for general guidance on error handling for Facebook API
// our policy here is to let the login view handle errors, but to log the results
NSLog(@"FBLoginView encountered an error=%@", error);
}
-(void)dismissThisViewController
{
//TODO
}
@end
错误
Ld /Users/myname/Library/Developer/Xcode/DerivedData/Appname-
dbqrudioiirqmvckhvljpnmkbhlu/Build/Intermediates/Appname.build/Debug-
iphonesimulator/Appname.build/Objects-normal/x86_64/Appname normal x86_64
cd /my_git_dir/project_name/Appname_iOS
export IPHONEOS_DEPLOYMENT_TARGET=7.1
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.1.sdk -
L/Users/myname/Library/Developer/Xcode/DerivedData/Appname-dbqrudioiirqmvckhvljpnmkbhlu/Build/Products/Debug-iphonesimulator -
F/Users/myname/Library/Developer/Xcode/DerivedData/Appname-dbqrudioiirqmvckhvljpnmkbhlu/Build/Products/Debug-iphonesimulator -F/my_git_dir/project_name/Appname_iOS/Appname_iOS -
F/Users/myname/Documents/FacebookSDK -filelist /Users/myname/Library/Developer/Xcode/DerivedData/Appname-
dbqrudioiirqmvckhvljpnmkbhlu/Build/Intermediates/Appname.build/Debug-iphonesimulator/Appname.build/Objects-normal/x86_64/Appname.LinkFileList -
Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -objc_abi_version -Xlinker 2 -ObjC -fobjc-arc -fobjc-link-runtime -Xlinker -
no_implicit_dylibs -mios-simulator-version-min=7.1 -framework AVFoundation -framework StoreKit -framework QuartzCore -framework
AudioToolbox -lsqlite3 -framework FacebookSDK -lz -framework CoreLocation -framework SystemConfiguration -framework Security -framework
MobileCoreServices -framework CFNetwork -framework Bolts -framework CoreTelephony -framework Parse -framework CoreGraphics -framework UIKit -
framework Foundation -Xlinker -dependency_info -Xlinker /Users/myname/Library/Developer/Xcode/DerivedData/Appname-
dbqrudioiirqmvckhvljpnmkbhlu/Build/Intermediates/Appname.build/Debug-iphonesimulator/Appname.build/Objects-
normal/x86_64/Appname_dependency_info.dat -o /Users/myname/Library/Developer/Xcode/DerivedData/Appname-
dbqrudioiirqmvckhvljpnmkbhlu/Build/Intermediates/Appname.build/Debug-iphonesimulator/Appname.build/Objects-normal/x86_64/Appname
…
duplicate symbol _OBJC_METACLASS_$_BFMeasurementEvent in:
/Users/myname/Documents/FacebookSDK/FacebookSDK.framework/FacebookSDK(BFMeasurementEvent.o)
/my_git_dir/project_name/Appname_iOS/Appname_iOS/Bolts.framework/Bolts(BFMeasurementEvent.o)
ld: 91 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ld: 91 duplicate symbols for architecture arm64
您在Bolts和Facebook框架中都有重复的meethod名称BFMeasurementElement。 首先解决这个问题。 螺栓框架< - 你真的需要这个吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.