当前位置: 首页 > 知识库问答 >
问题:

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

锺离嘉茂
2023-03-14

我正在尝试使用Swift编程语言的Object-C框架进行iOS8开发。这是导入的具体情况,但一般问题是:

如何将Objective-C框架导入swift并使导入得到认可?

我正在尝试使用ios8和xcode6beta将解析框架集成到swift应用程序中。

以下是Objective-C中解析框架集成的技术:

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

我已经下载了解析框架作为一个压缩的归档文件,提取了它,并将它导入到Xcode 6中,没有任何问题。在我的应用程序中,它显示为一个格式正确的框架,名称为Parse.framework。

我目前的想法是修改项目根目录中的AppDelegate.swift文件。以下是未经修改的当前文件(在创建swift项目时由Xcode自动生成):

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

我尝试通过在import-UIKit行下方添加行import-parse来导入解析。但是,Xcode发出警告,表示找不到这样的模块,构建失败。

我还尝试创建一个文件${PROJ_NAME_HERE}-bridgeing Header.h,其中包含使用import进行解析的Objective-C导入


共有3个答案

冷涵忍
2023-03-14

将解析框架添加到Swift项目:将此库添加到Swift项目。

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

添加项目名称桥接头.h(https://developer.apple.com/library/ios/documentation/swift/conceptual/buildingcocoaapps/MixandMatch.html) (https://stackoverflow.com/a/24272431/1847511)包含此类内容的文件。

添加连接桥接头的路径:

添加TestCode:

运行应用程序。

华星驰
2023-03-14

添加桥接标头的“傻瓜式”方法如下所示:

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

如果你有一个Object-C项目,添加一个新的Swift文件到它,你会得到同样的提示。按是。

在获得桥接头之后,如果需要,可以删除刚刚添加的文件。

禄源
2023-03-14

经过进一步的研究,我找到了解决办法,并意识到我只是感到困惑。

正确的方法如下:

>

  • 通过将目标C框架拖放到Xcode 6 Swift项目中来导入该框架。

    在项目中创建一个新的目标C文件(File-

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

    删除新创建的目标C文件,但保留桥接头文件${YOURPROJ}-bridgeing header.h

    在桥接头文件中,使用标准的Objective C导入语法(例如,#导入)导入框架

    这样就不需要在AppDelegate.swift文件中执行import Parse语句。现在,您可以编写使用任何框架的代码,只要它是使用桥接头导入的。它可以在项目的Swift文件中使用。

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

    然而,在使用Bridging Header文件时,这里还有一个警告需要解决。框架的所有依赖项也需要在Bridging Header文件中指定。在将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>
    

    希望这有帮助。

  •  类似资料:
    • 问题内容: 我正在尝试将Objective-C框架与Swift编程语言一起用于iOS 8开发。这是导入的一个特定情况,但是一般的问题是: 您如何将Objective-C框架导入Swift并获得认可? 我正在尝试使用iOS 8和Xcode 6 Beta将Parse框架集成到快速应用程序中。 这是在Objective-C中进行Parse框架集成的技术: https://www.parse.com/ap

    • 问题内容: 我将swift框架导入到Objective-C项目中,如下所示: 问题在于我正在导入框架的类只能识别某些类。 被认可的课程: 该类不是: 它们都是公开的,那么为什么第一个在工作空间中被识别,而另一个却没有? 我也在头文件MyFramework-Swift.h中看到一个类 出现而其他不出现 这是为什么? 另外要指出的是,当我将swift框架导入swift项目时,该相同的程序也可以工作 问

    • 2.5.应用程序框架 应用程序框架是Android程序的执行环境,也是开发者的强大工具箱。另外,它也拥有Android平台中最全面最完善的文档。良好的文档可以激发广大开发人员的创意,也可以为他们构建优秀的应用程序提供有力的支持。 在应用程序框架中,你可以发现很多为Android设计的Java库。除此之外,也有系统服务的支持,比位置、传感器、WiFi、电话等等。 在后面的学习与实践中,将把我们的主要

    • 我使用Hadoop构建了一个在分布式环境中搜索类似图像存储的应用程序。但是Hadoop不支持实时处理,这就是响应时间长的原因。我知道Storm是另一个大数据分析应用程序的框架。但是我很困惑我们是否可以使用Storm来实现这种应用程序。 有没有人建议什么样的应用程序可以有效地使用Storm框架。

    • 问题内容: 我正在设计和构建桌面应用程序。我正在考虑使用eclipse或netbeans作为此应用程序的基础。但是,我从未在这两个平台上构建过。我个人倾向于使用netbeans,因为它像该平台一样容易学习。但是,我想问一下实际上已经在这些平台上构建的人员,在此之前哪个更易于使用? 我对easyr的个人定义如下: 易于上手 一致的逻辑API 好的文档 易于构建和部署 非常感谢, 乔希 问题答案: 关

    • 我目前正在进行一个项目,我们将数据存储在Azure Datalake上。Datalake与Azure Databricks挂钩。 该要求要求 Azure 数据砖连接到 C# 应用程序,以便能够运行查询并从 C# 应用程序获取全部结果。我们目前解决这个问题的方式是,我们已经在Databricks上创建了一个工作区,其中包含许多需要执行的查询。我们创建了一个链接到上述工作区的作业。从 C# 应用程序中