У меня есть рабочее пространство Xcode с динамической структурой (называемой VisualKit) и игровой площадкой, которая импортирует VisualKit.
Эта установка прекрасно работает, когда VisualKit не имеет собственных внешних зависимостей (то есть, когда VisualKit не зависит от каких-либо дополнительных динамических структур).
Однако, когда я добавляю динамический фреймворк (в данном случае я импортирую SnapKit, хотя это не имеет значения, какой это фреймворк), я получаю следующую ошибку:
error: Couldn't lookup symbols:
VisualKit.ItemsLabel.__allocating_init() -> VisualKit.ItemsLabel
type metadata accessor for VisualKit.ItemsLabel
Я пробовал следующее:
- Очистка проекта, удаление оператора импорта, а затем его установка и попытка восстановить игровую площадку.
- Удаление производных данных
- Воссоздание рабочего пространства / детской площадки / рамочного проекта с нуля
... все безрезультатно.
Моя игровая площадка:
import UIKit
import PlaygroundSupport
import VisualKit
class MyViewController: UIViewController {
override func loadView() {
let view = UIView()
view.backgroundColor = UIColor.red
let label = ItemsLabel()
label.frame = CGRect(x: 150, y: 200, width: 200, height: 20)
label.text = "Hello"
view.addSubview(label)
self.view = view
}
}
PlaygroundPage.current.liveView = MyViewController()
ItemsLabel (в проекте динамического фреймворка VisualKit):
import UIKit
import SnapKit
public class ItemsLabel: UILabel {
public init() {
super.init(frame: .zero)
}
required public init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
Я ожидаю, что игровая площадка будет работать с импортом SnapKit (в VisualKit) так же, как и без него.
Есть идеи?