Комментарии 4
На счет статьи - не совсем понял для чего она ? Показать как можно на компоузе писать без архитектуры ? Если хочется что то проверить на коленке - это да. Если что то реализовывать, чисто для меня - даже маломальская логика в перемешку с ui дает ощущение грязи в коде. При чем тот же MVVM имплементится даже без сторонних либ и прост для освоения.
На счет компоуза под ios - пробовали устанавливать по гайду ? https://github.com/touchlab/xcode-kotlin/blob/main/MANUAL_INSTALL.md
https://github.com/touchlab/xcode-kotlin/issues/95
Xcode crashes on launch with xcode-kotlin installed after updating to macOS 13.5
похоже на этот баг
Спасибо! Замечание дельное. сделал ветку на GitHub с навигацией. Что на счет Ktorfit как замену Retrofit? Стоит перейти? Не пробовали?
Не пробовал. Обычно у меня это "голый" ktor. Вот использую его по разному. Если есть openapi/swagger - генерю по ним через openapi generator, он уже научился использовать ktor. Если нету - обычно ручками пишу, но в таких случаях обычно методов не много.
Ktorfit - выглядит перспективно со своими 1.1к звездочек, но учитывая что за ним стоит один человек - боязно как то в продакшен тащить, потому что классический сценарий с автобусом никто не отменял :) (здоровья и куча хороших пуллреквестов автору)
Падение Xcode
@MacBook xcode-kotlin % xcode-kotlin install
Installing 1.2.1.
Synchronizing plugin compatibility list.
@MacBook xcode-kotlin % /Applications/Xcode.app/Contents/MacOS/Xcode
2023-10-03 00:53:45.318 Xcode[4408:58279] [MT] DVTAssertions: ASSERTION FAILURE in /System/Volumes/Data/SWE/Apps/DT/BuildRoots/BuildRoot11/ActiveBuildRoot/Library/Caches/com.apple.xbs/Sources/DVTFrameworks/DVTFrameworks-22235/DVTFoundation/PlugInArchitecture/DataModel/DVTExtensionPoint.m:186
Details: Attempting to register extension after extension point has been frozen
Object: <DVTExtensionPoint: 0x600000bb0720>
Method: -_registerExtension:
Thread: <_NSMainThread: 0x600003a1ea40>{number = 1, name = main}
Open FDs: 7/256
Hints:
2023-10-03 00:53:45.364 Xcode[4408:58279] [MT] DVTAssertions:
Backtrace:
0 -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in IDEKit)
1 _DVTAssertionHandler (in DVTFoundation)
2 _DVTAssertionFailureHandler (in DVTFoundation)
3 -[DVTExtensionPoint _freezePlugInObjectGraph] (in DVTFoundation)
4 -[DVTExtension awakeFromPropertyList] (in DVTFoundation)
5 -[DVTPlugIn awakeFromPropertyList] (in DVTFoundation)
6 -[DVTPlugInManager _createPlugInObjectsFromScanRecords:] (in DVTFoundation)
7 __52-[DVTPlugInManager _recordNonApplePlugInDescriptor:]_block_invoke (in DVTFoundation)
8 -[DVTPlugInManager _allowNonApplePlugInsFromDescriptors:error:] (in DVTFoundation)
9 -[DVTPlugInManager _checkNonApplePlugIns] (in DVTFoundation)
10 -[DVTPlugInManager initializePlugIns:] (in DVTFoundation)
11 _IDEInitializeOtherPlugInStuff (in IDEFoundation)
12 IDEInitialize (in IDEFoundation)
13 -[IDEApplicationController applicationWillFinishLaunching:] (in IDEKit)
14 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ (in CoreFoundation)
15 ___CFXRegistrationPost_block_invoke (in CoreFoundation)
16 _CFXRegistrationPost (in CoreFoundation)
17 _CFXNotificationPost (in CoreFoundation)
18 -[NSNotificationCenter postNotificationName:object:userInfo:] (in Foundation)
19 -[NSApplication finishLaunching] (in AppKit)
20 -[DVTApplication finishLaunching] (in DVTKit)
21 -[NSApplication run] (in AppKit)
22 -[DVTApplication run] (in DVTKit)
23 NSApplicationMain (in AppKit)
24 start (in dyld)
zsh: abort /Applications/Xcode.app/Contents/MacOS/Xcode
dmitry@MacBook xcode-kotlin % xcode-kotlin uninstall
dmitry@MacBook xcode-kotlin % npx cap ls
dyld[4440]: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.62.dylib
Referenced from: <EBAAE893-9E1C-39F7-9E9D-49D468B04CBE> /usr/local/Cellar/node/10.9.0/bin/node
Reason: tried: '/usr/local/opt/icu4c/lib/libicui18n.62.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/icu4c/lib/libicui18n.62.dylib' (no such file), '/usr/local/opt/icu4c/lib/libicui18n.62.dylib' (no such file), '/usr/local/lib/libicui18n.62.dylib' (no such file), '/usr/lib/libicui18n.62.dylib' (no such file, not in dyld cache), '/usr/local/Cellar/icu4c/73.2/lib/libicui18n.62.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/Cellar/icu4c/73.2/lib/libicui18n.62.dylib' (no such file), '/usr/local/Cellar/icu4c/73.2/lib/libicui18n.62.dylib' (no such file), '/usr/local/lib/libicui18n.62.dylib' (no such file), '/usr/lib/libicui18n.62.dylib' (no such file, not in dyld cache)
zsh: abort npx cap ls
Падает. MacOs не хочет признавать плагины. Может надо систему переставить? уже лет 5 с самой покупки только с помощью Time Machine бэкаплю и софт сторонний ставлю
NoArchitecture Kotlin Compose