swift与objectc混编 module-Swift.h file not found

大家都知道,swift与objective-c混编时,系统会自动生成一个swift.h文件。不是指那个bridge文件,那个是用来往swift里导入objective-c类的,说的是用来往objective-c里导swift这个。当时在我自己的电脑上运行没有问题,git上传后别人update死活提示XXX-swift.h file not found。大家也知道现在都觉得swift刚出来,是个坑,当时就害怕swift有什么特殊的设置,各种svn,git,swift的搜。没有结果,又各种path搜,也没有结果。然后用

$find ~/Library/Developer/Xcode/DerivedData -name "*Swift.h"

在人家终端上一运行,乖乖,文件是存在的。但是还是提示找不到。最后发现问题是个乌龙,人电脑设置的区分大小写,我的是不区分大小写的。在文件夹中找到的是“XXX-Swift.h”,而类里导入的是“XXX-swift.h”闹了个笑话,把小写改成大写就ok了。

当然。如果

Project must have a Module Name not including spaces.
Defines Module must be set to Yes in Build Settings, under Packaging.

这两点没有设置,是不会闹这个笑话的,因为你在自己的电脑上也无法生成这个文件。补充一句,module name 最好设置为""xxx-swift.h",xxx为自己的项目名,不如果项目名里有空格,千万不要用空格,用下划线来代替,如"my project"就是"my_project-swift.h"最好

时间: 2024-10-03 09:46:35

swift与objectc混编 module-Swift.h file not found的相关文章

iOS开发——实用篇&Swift与Object-C混编之框架

swift与OC混编之框架的创建和调用 首先创建一个project取个名字叫“MyMixed”,选择iOS-framework&library-cocoa touch framework 然后在里面创建一个SwiftView.swift文件,一个objc的OCView文件和MyOCView文件三个文件都继承UIView 首先在SwiftView里调用OCView 1 import UIKit 2 3 4 5 class SwiftView: UIView { 6 7 8 9 init(frame

iOS开发——实用篇&Swift与Object-C混编之函数的调用

swift里混编oc 在桥接头文件里#import oc的.h文件,整个swift工程都能使用该oc文件,在.h里暴露的方法都能被该工程使用 //oc文件 TestOC.h 1 #import 2 3 4 5 @interface TestOC : NSObject 6 7 8 9 - (void)sayHello; 10 11 - (void)sayWhat:(NSString *)name andAge:(NSString *)age; 12 13 + (void)sayHelloTwo;

Swift和Objective-C混编注意事项

前言 Swift已推出数年,与Objective-C相比Swift的语言机制及使用简易程度上更接地气,大大降低了iOS入门门槛.当然这对新入行的童鞋没来讲,的确算是福音,但对于整个iOS编程从业者来讲,真真是,曾几何时"高大上",转瞬之间"矮矬穷".再加上培训班横行,批量批发之下,iOS再也看不到当年的辉煌.iOS10推出后,紧跟着Xcode8也推送了更新,细心者会发现,Xcode8下iOS版本最低适配已变为iOS8.0,加上Swift版本趋于稳定,从某种意义上讲,

Swift和Objective-C混编的注意啦

文/仁伯安(授权) 原文链接:http://www.jianshu.com/p/2ed48b954612 前言 Swift已推出数年,与Objective-C相比Swift的语言机制及使用简易程度上更接地气,大大降低了iOS入门门槛.当然这对新入行的童鞋没来讲,的确算是福音,但对于整个iOS编程从业者来讲,真真是,曾几何时"高大上",转瞬之间"矮矬穷".再加上培训班横行,批量批发之下,iOS再也看不到当年的辉煌. 往事不再提,事还是要做滴.iOS10推出后,紧跟着X

Swift和Objective-C混编

Swift和Objective-C混编的注意啦 2016-10-19 13:29 编辑: 不灭的小灯灯 分类:iOS开发 来源:仁伯安的简书 0 OCSwift混编 前言 Swift已推出数年,与Objective-C相比Swift的语言机制及使用简易程度上更接地气,大大降低了iOS入门门槛.当然这对新入行的童鞋们来讲,的确算是福音,但对于整个iOS编程从业者来讲,真真是,曾几何时"高大上",转瞬之间"矮矬穷".再加上培训班横行,批量批发之下,iOS再也看不到当年的

__nonnull 和 __nullable (Swift 和 Objective-C混编)

苹果在 Xcode 6.3 以后,为了解决 Swift 与 OC 混编时的问题,引入了一个 Objective-C 的新特性:nullability annotations. 这一新特性的核心是两个新的类型注释:__nullable 和 __nonnull.从字面上我们可以猜到,__nullable 表示对象可以是 NULL 或 nil,而 __nonnull 表示对象不应该为空.当我们不遵循这一规则时,编译器就会给出警告(编译器警告:Null passed to a callee that r

Swift和OC混编

swift 语言出来后,可能新的项目直接使用swift来开发.但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块.不想再在swift 中再写一次,哪就使用混编. 这个在IOS8中是同意的. 先中简单的入手,先研究在同一个project文件夹下混合使用的情况. 为了演示.先准备两个类 第一个是swift语言写的类,文件名称为 act.swift 1.    import Foundation 2. 3.    class Act : NSObject 4.    { 5.      

iOS开发--混编篇&swift与OC混合使用

Swift与OC混合使用 swift 语言出来后,可能新的项目直接使用swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块,不想再在swift 中再写一次,哪就使用混编.这个在IOS8中是允许的. 先中简单的入手,先研究在同一个工程目录下混合使用的情况. 为了演示.先准备两个类 第一个是swift语言写的类,文件名为 act.swift [cpp] view plaincopy import Foundation class Act : NSObject { fun

Swift与OC混编

Swift一出来就比较受人欢迎,但是还是有很多的第三方库是不支持Swift的,个人也感觉Swift还有很长的路要走. 而且最近连Swift的创始人都离开苹果公司了......... 加入Swift用到了第三方的东西那怎么办呢,其实很简单,Xcode会自动帮你创建一个桥接文件,用来连接Swift和OC这两种语言,同样的在OC里面用Swift也是一样. 其实步骤都一样的, 第一种:在Swift中连接OC 步骤: 在新建一个OC类,到最后Xcode就会自动提示要不要创建Swift和OC的链接文件,点击