2015-04-04 28 views
6

Ở đây trong bản ghi nhật ký thay đổi này (facebook change-log), nó được cho là không cần tiêu đề cầu nối mục tiêu c nhanh chóng.Facebook SDK 4.0.1 Lỗi Swift xcode 6.2 iOS 8.2

Nhưng khi tôi import FBSDKCoreKit trong AppDelegate.swift các lỗi này xảy ra:

FBSDKAppLinkResolver.h

/Users/[username]/Documents/FacebookSDK/FBSDKCoreKit.framework/ Tiêu đề/FBSDKAppLinkResolver.h: 21: 9: Bao gồm tiêu đề không mô-đun bên trong mô-đun khung 'FBSDKCoreKit.FBSDKAppLinkResolver'

AppDelegate.swift

/Users/ashrafkholeif/Projects/xcode/TabbedApplicationTemplate/TabbedApplicationTemplate/TabbedApplicationTemplate/AppDelegate.swift:10:8: Không thể xây dựng Objective-C module 'FBSDKCoreKit'

chỉnh sửa: Tôi thậm chí còn đặt tiêu đề cho phép không mô-đun bên trong mô-đun khung thành YES.

Trả lời

7

Tôi đã có cùng một vấn đề chính xác, giải pháp được đề xuất trên https://stackoverflow.com/a/29457503/425682 cho dự án Mục tiêu-C đã hoạt động ngay lập tức trên dự án Swift của tôi:

Viết một tệp mới trong thư mục SDK của Facebook trong Bolts.framework/Modules/module.modulemap với nội dung sau:

framework module Bolts { 
umbrella header "Bolts.h" 

export * 
module * { export * } 


explicit module BFAppLinkResolver { 
    header "BFAppLinkResolver.h" 
    link "BFAppLinkResolver" 
    export * 
}} 

này hoạt động mà không cần bắc cầu tiêu đề (không cần thiết nữa trong phiên bản 4.0.1 của SDK như đã đề cập bởi OP), và không có thay đổi các thiết lập xây dựng.

EDIT: điều này bug hiện đã được sửa thành phiên bản 4.1 của SDK Facebook, thư viện hoạt động mà không phải thực hiện bất kỳ thay đổi nào.

+0

Điều này thật tuyệt! Các giải pháp tốt nhất cho đến nay :) Xóa các mô-đun dường như clunky, và rối tung với các tùy chọn kêu vang không hoạt động. –

1

Tạo một tập tin tiêu đề mới và nhập bất kỳ mã Objective-C bạn đang sử dụng, một cái gì đó như thế này ..

#ifndef RJv1_RJBridge_h 
#define RJv1_RJBridge_h 
#import "NSMutableString+Obfuscated.h" 
#import <FBSDKCoreKit/FBSDKCoreKit.h> 
#import <FBSDKLoginKit/FBSDKLoginKit.h> 
#endif 

Sau đó vào Settings xây dựng của bạn, hãy tìm Install Objective-C Compability Header, và chắc chắn được thiết lập để Yes , sau đó thêm đường dẫn tương đối vào tệp tiêu đề của bạn trong trường Objective-C Bridging Header.

Hy vọng nó hoạt động!

+0

Đã thử điều đầu tiên. Nó không hoạt động. –

2

Đây là lỗi và Facebook hiện đang "chỉ định điều này cho nhóm thích hợp".

Để có được thông tin cập nhật đến vấn đề này theo liên kết này:

https://developers.facebook.com/bugs/362995353893156/

và nhấn đăng ký.

Hy vọng nó không mất quá nhiều thời gian để sửa chữa.

Ngoài ra đây là một câu hỏi có liên quan thời gian gần đây được đăng trên SO:

issue using FBSDK in swift iOS application

Và một số người đã tìm thấy thành công bằng cách sử dụng câu trả lời vào liên kết này (none đã làm việc cho tôi):

Facebook iOS8 SDK build module error for FBSDKCoreKit

Các vấn đề liên quan