创建和导入swift框架

sty*_*dev 16 iphone frameworks compilation swift ios8

我是快速编程的新手.我需要创建纯swift框架并将其导入我现有的纯swift项目中.当我尝试导入swift框架时,我收到此错误消息:

"Could not build Objective-C module '<myModule>'"
Run Code Online (Sandbox Code Playgroud)

框架文件结构

Test.h

 import Foundation

public class Test {
    class func printTest() {
        println("111");
    }
}
Run Code Online (Sandbox Code Playgroud)

Asdf.h

import UIKit
public class Asdf: Test {
    class func echo() {
        println(888);
    }
}
Run Code Online (Sandbox Code Playgroud)

Mymodule中,Swift.h

#ifndef <myModule>_<myModule>_Swift_h
#define <myModule>_<myModule>_Swift_h

#endif
Run Code Online (Sandbox Code Playgroud)

在框架构建之后,我在现有项目中添加了框架并获得了它 项目结构和导入问题屏幕

我究竟做错了什么?感谢帮助!

@findall评论答案 - 我试图将所有框架文件添加到我的项目根文件夹和项目文件夹中,但是又一次出现了相同的错误 将Framework文件添加到项目根目录

在项目文件夹中添加Framework文件

fin*_*all 19

我已经完成了以下步骤.

  1. 创建一个框架项目,例如名为"FooKit".(Cocoa Touch Framework待选)
  2. 例如,创建一个".swift"文件并添加一个公共符号public func foo().
  3. 创建一个使用方(app)项目.(我选择了Single View Application)
  4. 通过Finder打开"FooKit"的根目录,在那里拖动"FooKit.xcodeproj"并将其放入应用程序项目中Project Navigator.
  5. Target Dependencies在应用程序的Build Phases设置中添加"FooKit" .
  6. Embedded Binaries在应用程序的General设置中添加"FooKit.framework" .

现在,您可以在使用端应用程序中构建这样的代码.

import FooKit

func bar() {
    foo()
}
Run Code Online (Sandbox Code Playgroud)

  • 它也适用于我,但我想知道为什么我们不能拖放已编译的框架?xcworkspace在幕后做了什么才能使它工作? (10认同)
  • 我有同样的问题Mazyod (2认同)
  • @findall,这对我来说没有意义。如果我们要放置 .xcodepoj 文件,那么框架需要什么?我的意思是没有代码安全? (2认同)