XCode:使用静态库

时间:2016-02-26 18:31:07

标签: swift storyboard interface-builder xcode7 static-libraries

我目前正在开发具有以下环境的iPad应用程序:

  • XCode 7
  • iOS 9.2
  • Swift 2
  • 故事板
  • 列表项

我的项目包含一个由其他人创建的静态库(myLib.a)。这个lib包含一堆类,用Objective-C编写。 我已经在我的Swift项目中导入了lib(myLib.a)以及所有头文件(.h文件)。

该库包含一个类,它是UITextField的子类,名为CustomUITextField。我的项目包含CustomUITextField.h文件。此类将特定布局应用于UITextField。

该库还包含一个名为LoginViewController的UIViewController。我的项目包含文件LoginViewController.h。

在我的故事板中,我设计了一个UIViewController并将类更改为LoginViewController。然后我添加了一个UITextField并将其更改为CustomUITextField。

当我启动我的应用程序时,CustomUITextField呈现为UITextField,我收到错误消息:

Unknown class CustomUITextField in interface builder file

当我在Storyboard中查看LoginViewController和CustomUITextField时,它不允许我添加模块名称。即使我强迫它,我仍然有同样的问题。

当然,如果我创建自己的LoginViewController和CustomUITextField(在Swift或Objective-C中),一切都运行正常。所以,我认为库有问题......是否有特定的配置或标志可以在某处使用?

由于

1 个答案:

答案 0 :(得分:0)

我自己找到了答案。

我只需创建一个main.swift文件并强制我的应用加载我的自定义类。

import UIKit

//My custom class
CustomUITextField.self

UIApplicationMain(Process.argc, Process.unsafeArgv, NSStringFromClass(UIApplication), NSStringFromClass(AppDelegate))