Я строю структуру iOS (как, так и. /> Я могу, например, использовать структуру, чтобы открыть DB, добавить элементы, извлекать элементы и т. Д. И т. Д. Однако, если я попытаюсь ссылаться на объект результатов, то я получу: < /p>
dyld [11749]: символ не найден:
_ $ s10swift7resultsultsultsultsw /> < /blockquote>
Почему это может быть?public class ObjectA: Object, Codable {
@objc dynamic var category: String = ""
override public static func primaryKey() -> String? {
return "category"
}
}
public func addA(key:String) {
do {
let objectA = ObjectA()
objectA.category = key
let realm = try Realm(configuration: configuration!)
try? realm.write {
realm.add(objectA, update: Realm.UpdatePolicy.all)
}
} catch let error as NSError {
NSLog(TAG + "ERROR calling add() \(error.code) \(error.description)")
}
}
public func getAllAs() -> Results {
let realm = try! Realm(configuration: configuration!)
let items = realm.objects(ObjectA.self)
return items
}
< /code>
и какой -то код вызывает его: < /p>
RealmDatabase.instance().addA(key: "something") //ok
let found = RealmDatabase.instance().findObjectA(key: "something") //ok
let allA = RealmDatabase.instance().getAllAs() // ok
let c = allA.count // not ok
< /code>
Если выше 4 строки включены в структуру, это приведет к ошибке. Если последняя строка опущена, то код успешно работает.target 'TheFramework' do
use_frameworks!
pod 'Realm', '10.49.1'
pod 'RealmSwift', '10.49.1'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.0'
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
end
end
end
< /code>
Файл POD для приложения с использованием Framework: < /p>
target 'ReferenceApp' do
project 'ReferenceApp.xcodeproj'
use_frameworks!
pod 'Realm', '10.49.1'
pod 'RealmSwift', '10.49.1'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.0'
end
end
end
< /code>
В проекте Framework Xcode в разделе Frameworks & Libraries для Pods.framework установлено, чтобы не внедрять. Библиотека сборки для распределения установлена на «да». Почему только небольшая часть API приводит к ошибке символа, не найденной?
Подробнее здесь: https://stackoverflow.com/questions/795 ... ut-not-all
Использование realmswift в рамках: большинство символов найдены, но не все ⇐ IOS
Программируем под IOS
1742140453
Anonymous
Я строю структуру iOS (как, так и. /> Я могу, например, использовать структуру, чтобы открыть DB, добавить элементы, извлекать элементы и т. Д. И т. Д. Однако, если я попытаюсь ссылаться на объект результатов, то я получу: < /p>
dyld [11749]: символ не найден:
_ $ s10swift7resultsultsultsultsw /> < /blockquote>
Почему это может быть?public class ObjectA: Object, Codable {
@objc dynamic var category: String = ""
override public static func primaryKey() -> String? {
return "category"
}
}
public func addA(key:String) {
do {
let objectA = ObjectA()
objectA.category = key
let realm = try Realm(configuration: configuration!)
try? realm.write {
realm.add(objectA, update: Realm.UpdatePolicy.all)
}
} catch let error as NSError {
NSLog(TAG + "ERROR calling add() \(error.code) \(error.description)")
}
}
public func getAllAs() -> Results {
let realm = try! Realm(configuration: configuration!)
let items = realm.objects(ObjectA.self)
return items
}
< /code>
и какой -то код вызывает его: < /p>
RealmDatabase.instance().addA(key: "something") //ok
let found = RealmDatabase.instance().findObjectA(key: "something") //ok
let allA = RealmDatabase.instance().getAllAs() // ok
let c = allA.count // not ok
< /code>
Если выше 4 строки включены в структуру, это приведет к ошибке. Если последняя строка опущена, то код успешно работает.target 'TheFramework' do
use_frameworks!
pod 'Realm', '10.49.1'
pod 'RealmSwift', '10.49.1'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.0'
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
end
end
end
< /code>
Файл POD для приложения с использованием Framework: < /p>
target 'ReferenceApp' do
project 'ReferenceApp.xcodeproj'
use_frameworks!
pod 'Realm', '10.49.1'
pod 'RealmSwift', '10.49.1'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.0'
end
end
end
< /code>
В проекте Framework Xcode в разделе Frameworks & Libraries для Pods.framework установлено, чтобы не внедрять. Библиотека сборки для распределения установлена на «да». Почему только небольшая часть API приводит к ошибке символа, не найденной?
Подробнее здесь: [url]https://stackoverflow.com/questions/79512813/using-realmswift-in-a-framework-most-symbols-found-but-not-all[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия