将Objective C框架连接到Swift iOS 8应用程序(Parse框架)

49 xcode objective-c ios parse-platform swift

我正在尝试使用带有Swift编程语言的Objective C框架进行iOS 8开发.这是导入的具体情况,但一般问题是:

如何将Objective C框架导入swift并获得导入识别?

我正在尝试使用iOS 8和Xcode 6测试版将Parse框架集成到一个快速的应用程序中.

以下是Objective C中Parse框架集成的技术:

https://www.parse.com/apps/quickstart#social/mobile/ios/native/existing

我已经将Parse框架作为压缩存档下载,解压缩并将其导入Xcode 6而没有任何问题.在我的应用程序中,它显示为名为Parse.framework的格式正确的框架.

我目前的思考过程是修改AppDelegate.swift项目根目录下的文件.这是没有修改的当前文件(在快速项目创建时由Xcode自动生成):

https://gist.github.com/fconcklin/e8ef7d8b056105a04161

我试图通过添加行import Parse下面的行来导入解析import UIKit.但是,Xcode发出警告,表示没有找到这样的模块,并且构建失败.

我还尝试创建一个${PROJ_NAME_HERE}-Bridging-Header.h包含Parse使用的Objective C导入的文件import <Parse/Parse.h>.这条线不会引发错误,但似乎最终没有任何区别.

提前致谢.如果您需要更多信息,请告诉我.

小智 72

经过进一步的研究,我找到了解决方案并意识到我只是感到困惑.

正确的方法如下:

  • 通过将框架拖放到Xcode 6 Swift项目中来导入Objective C框架.

  • 在项目中创建一个新的Objective C文件(File-> New-> File [Objective C for iOS]).

  • 接受提示(同意)以在Objective C和Swift之间创建桥接头文件.

  • 删除新创建的Objective C文件,但保留桥接头文件${YOURPROJ}-Bridging-Header.h.

  • 在Bridging头文件中,使用标准Objective C导入语法(例如#import <Parse/Parse.h>)导入框架.

  • 这放弃了import ParseAppDelegate.swift文件中执行语句的需要.您现在可以编写使用任何框架的代码,只要使用桥接头导入即可.它可以在整个项目的Swift文件中使用.

现在,如果您想在项目中测试Parse集成,可以键入Parse.并使用代码完成来浏览框架,并查看代码完成是否表示导入成功.

但是,在使用桥接头文件时需要解决另一个需要注意的问题.还需要在桥接头文件中指定框架的所有依赖项.在将Parse框架集成到Swift应用程序的情况下,您的Bridging Header文件将如下所示:

 #import <Foundation/Foundation.h>

 // Parse Dependencies
 #import <AudioToolbox/AudioToolbox.h>
 #import <CFNetwork/CFNetwork.h>
 #import <CoreGraphics/CoreGraphics.h>
 #import <CoreLocation/CoreLocation.h>
 #import <MobileCoreServices/MobileCoreServices.h>
 #import <QuartzCore/QuartzCore.h>
 #import <Security/Security.h>
 #import <StoreKit/StoreKit.h>
 #import <SystemConfiguration/SystemConfiguration.h>

 // Import parse framework
 #import <Parse/Parse.h>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.

  • 它仍然有效吗?我得到`无法导入桥接头'/PATH/TO/File-Bridging-Header.h'`然后`错误:'Parse/Parse.h'文件未找到` (2认同)

Jac*_*ack 48

添加桥接头的"傻瓜证明"方式如下:

如果您有一个Swift项目,请向项目添加一个新的Objective-C文件,如果您想使用桥接头配置项目,Xcode将提示.按是.

如果你有一个Objective-C项目,添加一个新的Swift文件,你会得到相同的提示.按是.

获得桥接标题后,您可以删除刚添加的文件(如果需要).

  • 我有一个快速的项目,但是当我添加一个ObjC头文件(xcode 6 b4)时,我无法显示添加桥接头信息.有任何想法吗? (2认同)

Nal*_*ene 10

将Parse框架添加到Swift项目:将此库添加到Swift项目中.

在此输入图像描述

将此框架从ParseSDK粘贴到您的项目:

在此输入图像描述

添加ProjectName-Bridging-Header.h(https://developer.apple.com/library/ios/documentation/swift/conceptual/buildingcocoaapps/MixandMatch.html)(/sf/answers/1699070201/)包含此类内容的文件.

在此输入图像描述

添加绑定桥接头的路径:

在此输入图像描述

添加TestCode:

在此输入图像描述

运行应用程序.


归档时间:

查看次数:

42491 次

最近记录:

5 年,12 月 前