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 Parse在AppDelegate.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)
希望这可以帮助.
Jac*_*ack 48
添加桥接头的"傻瓜证明"方式如下:
如果您有一个Swift项目,请向项目添加一个新的Objective-C文件,如果您想使用桥接头配置项目,Xcode将提示.按是.
如果你有一个Objective-C项目,添加一个新的Swift文件,你会得到相同的提示.按是.
获得桥接标题后,您可以删除刚添加的文件(如果需要).
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 次 |
| 最近记录: |