일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 용산 호반써밋 에이디션
- EditText
- 새마을금고
- Mac
- gradle
- kotlin
- java
- Android
- audio record
- Android Studio
- ios
- KB
- 사전청약
- CHAT GPT
- MG더뱅킹정기예금
- 3rd framework
- arm-linux-androideabi
- ndk r24
- 달러예금
- RETROFIT
- 고금리
- 예금
- ChatGPT
- ndkVersion
- 청약
- Swift
- JetPack
- Andorid
- BindingAdapter
- Data Binding
- Today
- Total
목록Swift (12)
pear
스위프트 메모리 타입 요약 [High] Stack Dynamic Heap BSS GVAR TEXT [Low] value type dump(variable:) dump(with:) dump(object:) EX) String stack 16byte 할당 heap 문자열 할당(짧은 문자열은 stack영역도 사용) dump(with:) copy-on-write Collection Heap print(MemoryLayout.size)//16 var fString = "a" var sString = "bb" print(MemoryLayout.size(ofValue: fString)) //16 print(MemoryLayout.size(ofValue: sString)) //16 주어진 instance 의 memor..
Mobile/Web 등에서 간단한 녹음 API들은 일반적으로 FLOAT32LE/FLOAT32BE 사용한다. 내게 필요한 스펙은 PCM format은 S16LE 이다. swift record - 1을 참고하여 내 스펙에 맞게 변환 import Foundation import AVFoundation //음성버퍼와 녹음 이벤트를 전달할 프로토콜 protocol RecordProtocol: class { func onBuffer(len:UInt32, buffer:[Int16]) func onEvent(type:typeRecord, value:Int) } //녹음 이벤트 상태 값 정의 enum typeRecord: Int{ case start = 1, stop = 0, used = 2, err = 3 } clas..
일반적인 녹음 App 기능이 아님 녹음 모듈 구현을 위한 레퍼런스 체크!! 음성인식및 stream 처리 에 필요한 녹음 버퍼를 만들기 위해 세부적인 설정이 가능한 모듈을 찾아서 커스텀한다. 오늘은 내게 필요한 정보가 모두 있는지 확인 후 다음 기회에 정리하자. 내게 필요한 기본 기능은 16bit sampling rate 부분 버퍼링 우선 잘 모르겠지만 iOS의 RemoteIO Audio Unit 사용 하며 마음이 편하게 BSD 2-clause license 이다. Audio는 디바이스에 하나 뿐이므로 singleton으로 사용 한다. // // RecordAudio.swift // // This is a Swift class (updated for Swift 5) // that uses the iOS R..
apple devloment https://developer.apple.com/documentation/dispatch/dispatchqos // 유저와 직접 응답형 : UI관련 DispatchQueue.global(qos: .userInteractive) // 비동기 처리 : 내부 데이터베이스 조회 등 DispatchQueue.global(qos: .userInitiated) // 일반적인 작업 DispatchQueue.global() // ProgressIndicator와 함께 지속적으로 사용되는 작업 : 지속적인 데이터 feed, Networking DispatchQueue.global(qos: .utility) // 사용자가 직접적으로 인지하지 않는 부분 : 데이터베이스 유지, 데이터 정리 등 -..

Objective C에서 사용하던 3rd part framework를 swift project에 사용하기 위해 framework를 추가하고 Build를 했더니 하기와 같이 link error 발생 예전에 특정버전에서 발생했던 libc++.dylib 를 찾지 못하는 이슈와 동일한것 같다. Undefined symbols for architecture arm64: "void std::__1::__sort(float*, float*, std::__1::__less&)", referenced from: 하기 두 경로중 어디서든 libc++.tdb 추가해 주면 해결 Project -> General -> Framework,Libraries, and Embedded Content Project -> Build Ph..

3rd part framwork를 만들어 배포시 bitcode를 지원 하려면 하기 와 같이 User-Defined을 추가해 주어야 한다. User-Defined BITCODE_GENERATION_MODE debug maker release bitcode App빌드 시 개발용으로 빌드하면 bitcode를 확인하지 않지만 Archive 빌드 시 bitcode를 Yes로 설정하면 3rd part framwork가 bitcode를 지원하는지 확인 하게 된다. App 빌드 설정에도 User-Defined을 추가해주면 bitcode를 확인하게 되어 배포시 실수를 줄일 수 있다. debug maker경우 maker만 확인하기 때문에 Archive 빌드 시 오류가 발생하고 관리 성향에 따라 모두 bitcode로 설정해..

결론부터 먼저 이야기하면 XCFramework로 변경하자. XCFramework Swfit 3rd party Framewrok를 기존 Object C에서 사용해 왔던 Fat Framwork 방식으로 만들어가다가 다양한 빌드 이슈에 직면하였고 오류의 내용들을 보면 문제가 발생한 원인이 버전 호환(swfitmodule) 및 다양한 지원에 대한 XCFramwork 추가로 인한 호환성 이슈로 판단. Project 생성 방법 Other - > Aggregate -> New Run Script ADD Script(New Run Script) XCFramework Fat Framework Tyep 구버전 FRAMEWORK_PATH="${SRCROOT}/../Framework/simplelib.xcframework" ..
일반적인 녹음 App 기능이 아님 녹음 모듈 구현을 위한 레퍼런스 체크!! 음성인식및 stream 처리 에 필요한 녹음 버퍼를 만들기 위해 세부적인 설정이 가능한 모듈을 찾아서 커스텀한다. 오늘은 내게 필요한 정보가 모두 있는지 확인 후 다음 기회에 정리하자. 내게 필요한 기본 기능은 16bit sampling rate 부분 버퍼링 우선 잘 모르겠지만 iOS의 RemoteIO Audio Unit 사용 하며 마음이 편하게 BSD 2-clause license 이다. Audio는 디바이스에 하나 뿐이므로 singleton으로 사용 한다. // // RecordAudio.swift // // This is a Swift class (updated for Swift 5) // that uses the iOS R..