Failed to load Info.plist from bundle
ยท
๐ŸŽ iOS/๋””๋ฒ„๊น…
๋ฌธ์ œ์›์ธ Xcode ์บ์‹œ๋ฅผ ์‚ญ์ œํ•ด์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ผ๋ถ€ ํŒŒ์ผ์ด ๋ˆ„๋ฝ๋จ ํ•ด๊ฒฐ๋ฐฉ๋ฒ• File-Packages-Reset Package Cashes
[SwiftUI] Custom Picker
ยท
๐ŸŽ iOS/SwiftUI
import SwiftUIimport SwiftUIIntrospectenum BirthPickerType { case year case month}struct BirthPickerView: View { let type: BirthPickerType @Binding var selectedNumber: Int let years = Array(1923...2022) let months = Array(1...12) @State private var originOffset: CGFloat = 0 @State private var lastOffset: CGFloat = 0 @State private var currentOffset: CGFloat..
Introspect
ยท
๐ŸŽ iOS/SwiftUI
Introspect SwiftUI์—์„œ UIKit ๋˜๋Š” AppKit ์š”์†Œ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. github https://github.com/siteline/SwiftUI-Introspect GitHub - siteline/swiftui-introspect: Introspect underlying UIKit/AppKit components from SwiftUI Introspect underlying UIKit/AppKit components from SwiftUI - GitHub - siteline/swiftui-introspect: Introspect underlying UIKit/AppKit components from SwiftUI github.com ์‚ฌ์šฉ ์˜ˆ์‹œ ๊ณต์‹ ๋ฌธ์„œ https..
Unit test, @testable import
ยท
๐ŸŽ iOS/ํ…Œ์ŠคํŠธ
Unit test - ๋‹จ์œ„ ํ…Œ์ŠคํŠธ: ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ๋ณธ ๋‹จ์œ„์ธ ๋ชจ๋“ˆ์„ ํ…Œ์ŠคํŠธ - ๋ชจ๋“ˆ์ด ์ œ๋Œ€๋กœ ๊ตฌํ˜„๋˜์–ด ์ •ํ•ด์ง„ ๊ธฐ๋Šฅ์„ ์ •ํ™•ํžˆ ์ˆ˜ํ–‰ํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ - ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฐ ๋ถ€๋ถ„์„ ๊ณ ๋ฆฝ์‹œ์ผœ, ๊ฐ๊ฐ์˜ ๋ถ€๋ถ„์ด ์ •ํ™•ํžˆ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธ - Unit test๊ตฌ์กฐ๊ฐ€ ์žกํ˜€์žˆ์œผ๋ฉด, ์ถ”ํ›„์— ๋ฆฌํŒฉํ† ๋ง ํ›„ ํ™•์ธ์ด ์‰ฝ๊ธฐ๋•Œ๋ฌธ์— ๋ณ€๊ฒฝํ•˜๊ธฐ ์‰ฌ์›€ @testable import [๋ชจ๋“ˆ๋ช…] - ๋ชจ๋“ˆ์— ์ ‘๊ทผํ•˜์—ฌ internal๊ณผ ๊ฐ™์ด ์ ‘๊ทผ์ œํ•œ์ด ๊ฑธ๋ ค์žˆ๋Š” ๊ณณ์— ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค. - private, fileprivate์€ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค.
[iOS] ์ˆ˜์ถœ ๊ทœ์ • ๊ด€๋ จ ๋ฌธ์„œ ๋ˆ„๋ฝ
ยท
๐ŸŽ iOS/๋””๋ฒ„๊น…
https://help.apple.com/xcode/mac/current/#/dev0dc15d044 https://help.apple.com/xcode/mac/current/#/dev0dc15d044 To see this page, you must enable JavaScript. Pour afficher cette page, vous devez activer JavaScript. Zur Anzeige dieser Seite müssen Sie JavaScript aktivieren. ใ“ใฎใƒšใƒผใ‚ธใ‚’่กจ็คบใ™ใ‚‹ใซใฏใ€JavaScript ใ‚’ๆœ‰ๅŠนใซใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚ help.apple.com Info.plist์—์„œ ITSAppUsesNonExemptEncryption ์†์„ฑ์„ 'No'๋กœ ๋ฐ”๊พธ๋ฉด ๋ฉ”์‹œ์ง€๊ฐ€ ๋œจ์ง€ ์•Š๋Š”๋‹ค.
AVPlayer, AVPlayItem
ยท
๐ŸŽ iOS/UIkit
AVPlayer ๋ฏธ๋””์–ด Player์˜ ์ „์†ก ๋™์ž‘์„ ์ œ์–ดํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฐ์ฒด. ์‰ฝ๊ฒŒ๋งํ•˜๋ฉด .. ์žฌ์ƒ ํ”Œ๋ ˆ์ด์–ด์˜ ๋™์ž‘์— ๊ด€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ๊ฐ์ฒด์ธ๋“ฏ AVAsset์˜ ์ „๋ฐ˜์ ์ธ playback(๋…น์Œ, ๋…นํ™”, ์žฌ์ƒ)์„ ์ œ์–ดํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ์ฒด ๊ตฌ์กฐ AVPlayer๋Š” ํ•œ ๋ฒˆ์— ํ•˜๋‚˜๋งŒ ์žฌ์ƒ์ด ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ, ์—ฌ๋Ÿฌ ๋ฏธ๋””์–ด๋ฅผ ์žฌ์ƒํ•˜๊ณ  ์‹ถ์œผ๋ฉด AVQueuePlayer ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉ AVPlayerItem ๋ฏธ๋””์–ด ํ”Œ๋ ˆ์ด์–ด์— ๋Œ€ํ•œ ์‹œ๊ฐ„๊ณผ ์ƒํƒœ์ •๋ณด๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ฐ์ฒด. AVAsset: ์ •์ ์ธ ์ƒํƒœ๊ด€๋ฆฌ (์ด ์žฌ์ƒ์‹œ๊ฐ„, ์ƒ์„ฑ๋‚ ์งœ) AVPlayerItem: ๋™์ ์ธ ์ƒํƒœ๊ด€๋ฆฌ (presentation state, ํ˜„์žฌ์‹œ๊ฐ„, ํ˜„์žฌ๊นŒ์ง€ ์žฌ์ƒ๋œ ์‹œ๊ฐ„ ๋“ฑ) ๊ตฌ์กฐ AVPlayerItem ๋‚ด๋ถ€์˜ AVPlayerItemTrack ๊ฐ์ฒด๋ฅผ ํ†ต..
AVFoundation
ยท
๐ŸŽ iOS/UIkit
AVFoundation ์‹œ๊ฐ„์— ๋”ฐ๋ฅธ ์‹œ์ฒญ๊ฐ ๋ฏธ๋””์–ด ์žฌ์ƒ, ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ํ”„๋ ˆ์ž„ ์›Œํฌ Objective-c ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ด์ค˜์„œ ๋ฏธ๋””์–ด์— ๋Œ€ํ•œ ์ƒ์„ธํ•œ ์ปจํŠธ๋กค ๊ฐ€๋Šฅ ๋ฏธ๋””์–ดํŒŒ์ผ ๊ฒ€์‚ฌ, ์ƒ์„ฑ, ํŽธ์ง‘, ์žฌ์ธ์ฝ”๋”ฉ ๊ฐ€๋Šฅ ์‹ค์‹œ๊ฐ„์บก์ฒ˜ ๊ฐ€๋Šฅ ์žฌ์ƒ ์ค‘ ์ž…๋ ฅ Stream์„ ๊ฐ€์ ธ์™€์„œ ๋น„๋””์˜ค ์ปจํŠธ๋กค ๊ฐ€๋Šฅ AVFoundation์˜ ์•„ํ‚คํ…์ฒ˜ AVFoundation์€ UIKit๋ณด๋‹ค Core์ชฝ์— ๊ฐ€๊น๊ฒŒ ๋งž๋‹ฟ์•„ ์žˆ๋‹ค. AVFoundation์—์„œ๋Š” ํŠน๋ณ„ํžˆ Audio๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๊ฐ€ ๋ณ„๋„๋กœ ์กด์žฌํ•œ๋‹ค. (๋‹จ์ˆœ์žฌ์ƒ: AVAudioPlayer, ๋…น์Œ: AVAudioRecorder) AVAsset AVFoundation์—์„œ ๋ฏธ๋””์–ด๋ฅผ ํ‘œํ˜„ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. AVAsset: url์„ ๋ฏธ๋””์–ด๋กœ ๊ฐ์ฒดํ™” ํ•œ๋‹ค. AVAsset์— ์žˆ๋Š” ๋ฏธ๋””์–ด..
SwiftUI Charts๋กœ ๋ฐฉ์‚ฌํ˜• ์ฐจํŠธ๋งŒ๋“ค๊ธฐ
ยท
๐ŸŽ iOS/SwiftUI
๊ฐœ์š” Radar ์ฐจํŠธ๋ฅผ Charts ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ด์šฉํ•ด์„œ ๋งŒ๋“ค์–ด ๋ณด๋ คํ•œ๋‹ค. Charts์—์„œ๋Š” ์ฐจํŠธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์œ„์ฒ˜๋Ÿผ ๋ฌถ๋Š”๋‹ค. ๋ณธ๋ก  // 1 let greenDataSet = RadarChartDataSet( entries: [ RadarChartDataEntry(value: 210), RadarChartDataEntry(value: 60.0), RadarChartDataEntry(value: 150.0), RadarChartDataEntry(value: 150.0), RadarChartDataEntry(value: 160.0), RadarChartDataEntry(value: 150.0), RadarChartDataEntry(value: 110.0), RadarChartDataEntry(value: 1..
Type 'ChartDataSet' does not conform to protocol 'RangeReplaceableCollection'
ยท
๐ŸŽ iOS/๋””๋ฒ„๊น…
๋ฌธ์ œ์ƒํ™ฉ SwiftUI์˜ Charts ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ ์ค‘ ํ•ด๋‹น ์˜ค๋ฅ˜ ๋ฐœ์ƒ ํ•ด๊ฒฐ ์ด ๋ฉ”์„œ๋“œ๋ฅผ extension ChartDataSet: RangeReplaceableCollection์— ๋ถ™์—ฌ๋„ฃ๋Š”๋‹ค. public func replaceSubrange(_ subrange: Swift.Range, with newElements: C) where C : Collection, ChartDataEntry == C.Element { entries.replaceSubrange(subrange, with: newElements) notifyDataSetChanged() } Ref https://github.com/danielgindi/Charts/issues/4873 Not able to compile code on Xc..
Searching for inspections failed: undefined method `map' for nil:NilClass
ยท
๐ŸŽ iOS/๋””๋ฒ„๊น…
๋ฌธ์ œ ์ƒํ™ฉ pod update๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ์—…๋ฐ์ดํŠธ ํ•˜๋ ค๋˜ ์ค‘ `Searching for inspections failed: undefined method `map' for nil:NilClass` ์˜ค๋ฅ˜ ๋ฐœ์ƒ ํ•ด๊ฒฐ M1์ด์Šˆ๋กœ ์ถ”์ •๋จ sudo gem uninstall ffi && sudo gem install ffi -- --enable-libffi-alloc Ref https://stackoverflow.com/questions/67443265/error-regarding-undefined-method-map-for-nilnilclass-for-flutter-app-cocoap
JerryiOS
'๐ŸŽ iOS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)