das*_*ist 115 xcode objective-c ios swift xcode6
我有一个在Objective-C中启动的项目,我试图将一些Swift代码导入到我之前编写的Objective-C相同的类文件中.
我在同一个项目中咨询过Apple Sws和Objective-C的文档,以及这样的SO 问题,但仍然无济于事:我在放入后继续得到文件未找到错误#import "NewTestApp-Swift.h"(NewTestApp是产品的名称)和模块).
这是我到目前为止所做的:
Define Modules,YES为应用程序选择.我已经尝试使用#import "NewTestApp-Swift.h"内ViewController.m,ViewController.h和AppDelegate.m但他们没有工作过.
我还做错了什么?谢谢你的帮助.
设置截图:

我目前遇到的错误:

bol*_*nad 144
我遇到了同样的问题,无法让我的项目将swift导入到obj-c类中.使用Xcode 6,(应该适用于Xcode 6+)并且能够以这种方式完成....
@class MySwiftClass;
#import "ProductModuleName-Swift.h"
链接到关于它的苹果文档
小智 78
如果Swift代码在Module中(就像你的情况一样):
#import <ProductName/ProductModuleName-Swift.h>
Run Code Online (Sandbox Code Playgroud)
如果Swift代码在项目内(混合Swift和ObjC):
#import <ProductModuleName-Swift.h>
Run Code Online (Sandbox Code Playgroud)
在您的情况下,您必须在*.m文件中添加此行:
#import <NewTestApp/NewTestApp-Swift.h>
Run Code Online (Sandbox Code Playgroud)
重要信息:查看import语句中的"<"
hol*_*m50 51
我如何设法将swift导入objective-c:
在您的ViewController.m中导入swift代码:
#import "MyProductModuleName-Swift.h"
Run Code Online (Sandbox Code Playgroud)感谢Swiftoverload让我意识到实际通过Xcode GUI添加Swift文件,而不仅仅是将现有的swift文件拖放到我的项目中以使其工作:http: //nikolakirev.com/blog /使用-迅速-在目标-C项目
Jak*_*hao 11
在这个问题上花了一个小时,按照以下步骤操作将帮助您了解缺少的内容:
pet*_*ine 10
使用Xcode 8.2.1,如果查看Project > Build Settings> Objective-C Generated Interface Header Name,它只显示一个名为Product -Swift.h的头文件
这意味着不是单独从Objective-C .m文件导入每个模块,而是使用单独的-Swift.h文件,只需导入一个聚合所有Swift模块的Product -Swift.h.
我通过寻找单独导入模块的传统方式遇到了同样的问题,但当前版本的Xcode和Swift 3将其更改为仅使用一个标头进行所有模块导入.
小智 6
我在将Swift导入Objective-C项目时遇到了问题.最后,我查看了Derivied Data文件夹,检查Xcode 7生成的内容.文件名与我期待的完全不同.
一旦我获得了实际的文件名,我就导入了该项目并且项目可以构建.
-Swift.h如果 Swift 代码通过@objc或[About]公开 API,则应由 Xcode 自动创建@objcMembers
通常一个位置看起来像
~/Library/Developer/Xcode/DerivedData/
ProductModuleName-foo/
Build/
Intermediates.noindex/
ProductModuleName.build/
Debug-iphoneos/
ProductModuleName.build/
DerivedSources/
ProductModuleName-Swift.h
Run Code Online (Sandbox Code Playgroud)
它可以通过改变
Project editor -> select a target -> Build Settings -> Per-configuration Intermediate Build Files Path
Run Code Online (Sandbox Code Playgroud)
默认值为 $(PROJECT_TEMP_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
| 归档时间: |
|
| 查看次数: |
76192 次 |
| 最近记录: |