Crash Log Termination Signal: Segmentation fault: 11 Termination Reason: Namespace SIGNAL, Code 0xb Terminating Process: exc handler [3557] Triggered by Thread: 0 Thread 0 name: Thread 0 Crashed: 0 Foundation 0x000000018b10777c __NSOQSchedule + 252 (NSOperation.m:285) 1 Foundation 0x000000018b1076ec __NSOQSchedule + 108 (NSOperation.m:1766) 2 Foundation 0x000000018b109344 __addOperations + 936 (..
컴파일러에게 빌드를 특정 수준으로 최적화 레벨을 설정할 수 있는 옵션 빌드속도 증가를 위해서 Fastest 설정 Apple Clang - Code Generation (ObjectiveC) Swift Compiler - Code Generation -Onone 일반적인 개발 모드 최소한의 최적화 수행 및 디버그 정보 보존 -O 상용 모드 생성되는 코드의 유형과 양을 크게 변경할 수 있는 적극적인 최적화 수행 디버그 정보는 손실 -Osize 성능보다 코드 크기를 우선시 하는 특수 최적화 모드 -Ounchecked 성능을 위해 안전성을 교환하는 특수 최적화 모드 오버플로/유형 검사 제거 일반적으로 사용하기 위한 모드는 아님. 앱 내 Assertion 사용 시 설정 주의 필요 Swift 의 경우 -Onone ..
오랜만에 iOS 를 다시하려니.. 쉽지는 않다 간단한 3개의 column 을 가진 갤러리인데 왜 이것저것 문제가 생기는지 원 무튼.. TargetSize 가 클 때 버벅이는 문제점 PHImageManager 를 이용해 requestImage 후 UICollectionViewCell 에 image 를 채워주는 코드다. let asset = self.fetchResult[indexPath.item] cell.requestIdentifier = asset.localIdentifier self.imageManager.requestImage(for: asset, targetSize: targetSize, contentMode: .aspectFill, options: nil) { (image, info) in if..
H.26X표준 동영상 압축 규격으로, ITU 의 한 부서 (VCEG) 에서 정한다.ISO 에서 정하는 규격은 MPEG 으로 영상과 음성 시스템을 포함한 폭넓은 규격을 말한다.ITU, ISO 에서 표준화를 함께 진행하는 경우가 많다.(H.264 = MPEG-4 Part 10 (AVC) ) 대부분의 표준은 특허권이 걸려있어 무료가 아니다.H.264 코덱을 이용하는 한국 DMB 도 MPEG-LA 에 로열티를 지불하고 있다.MPEG-LA 는 수익을 얻지 않거나 일정 규모 이하의 경우에는 사용료를 면제해준다. Xvid 나 x264 와 같이 오픈소스 그룹에서 만드는 호환 규약을 써도 로열티 문제는 해결되지 않는다.위 2가지를 사용하면 GPL 이나 LGPL 규약을 따라야 해서 프로그램 소스 공개의무가 있다. H.26..
동영상기술적으로 비디오는 영화필름을 빨리 돌리는 플립북과 동일하다.이미지를 주사율 (FPS, 초당 프레임) 에 맞춰 넘겨주고 오디오를 싱크시키면 만들어진다. 하지만 위 경우 용량이 매우 커지기에 압축이 필요하다. 압축 알고리즘을 Codec 이라 부른다.(동영상 기술의 발전 = 압축 알고리즘의 발전) Codec 이란Coder and Decoder음성 또는 영상의 신호를 디지털 신호로 변환하는 Coder,디지털 신호에서 음성 또는 영상으로 변환하는 Decoder 를 통틀어 부르는 말 같은 영상이라도 코덱의 차이에 따라 화질이 달라지기도 한다.컴퓨터에 직접 장착하는 하드웨어 코덱이 있고, 소프트웨어 코덱도 존재한다. 오디오 코덱MP3, WMA, AAC, FLAC, ALAC 등 우리가 흔히 아는 오디오 확장자들..
Keychain 은 앱 삭제 전까지 정말 사라지지 않는가?사라질 수 있다. ㅠㅠ 조건iOS 10.3.3 이상 단말,Key 생성 시 kSecAttrAccessible 설정을 하지 않았다 (default 값으로 두었다) kSecAttrAccessible 설정값 참고 : http://beankhan.tistory.com/109 언제 발생하는가?1. iTunes 를 이용한 백업 / 복원 시 2. iCloud 를 이용한 백업 / 복원 시설정 > iCloud > Keychain 옵션이 꺼져있는경우 사라지지 않게 할 수 있는가?없다. iTunes 를 이용한 백업 / 복원 시 남겨두고 싶다면kSecAttrAccessible 설정을 (ThisDevice) 가 없는 단어로 설정하면 된다. iCloud 를 이용한 백업 / ..
출처https://github.com/apple/swift-evolution/blob/master/proposals/0160-objc-inference.md 소개Swift 3 에서 사용되었던 @objc 추론에 제한을 둡니다.편의상, Swift 는 @objc 를 여러 곳에서 유추해왔었습니다. 변경 이유1) Swift 의 @objc 에 대한 추론 규칙은 단순하며, @objc 가 유추되는 이유가 사용자에게 불명확할 수 있습니다. 2) 클래스가 많아질경우 실수로 Objective-C 충돌을 발생시키는 Swift 클래스를 작성하기 쉽습니다. 3) Swift 코드 디자인 지침을 따랐지만 Objective-C 코드 작성 규칙을 위반하는 경우가 있습니다.아래와 같은 경우 명시적인 @objc 주석이 필요합니다. clas..
출처https://www.raywenderlich.com/163857/whats-new-swift-4 Api ChangesString더 이상 characters array 를 사용할 필요는 없습니다.direct 로 iterate 를 돌 수 있습니다. var str = "Hello🐮" for char in str { print(char) } direct 로 돌 수 있듯이, Sequence, Collection 의 기능들을 모두 사용할 수 있습니다. let count = str.countlet isEmpty = str.isEmptylet elloString = str.dropFirst()let lloString = str.dropFirst(2)let reverseString = String(str.rever..
출처https://developer.apple.com/documentation/contacts 개요iOS 9 이상에서 지원되는 Contact Framework 로대부분이 앱이 Contact 편집보다는 조회를 많이 하고 있기에,thread-safe 와 read-only 사용에 optimize 되어있다. Contact ObjectCNContact 은 thread-safe 하고 imuutable 한 contact properties (name, image, phonenumber) 를 가지고있다. CNContact 을 상속받은 CNMutableContact 은 mutable 한 속성을 가지고 있으며contact properties 를 수정할 수 있다. contact properties 는 phone number..
- Total
- Today
- Yesterday
- CGImage
- coredata
- docker
- Swfit
- Block
- NSManagedObjectContext
- AWS
- Swift 3.0
- applicationWillResignActive
- 읽기 좋은 코드가 좋은 코드다
- Swift3
- string
- EffectiveObjectiveC
- delegate
- thread
- RunLoop
- NSManagedObject
- Swift
- set
- Arc
- HTTP
- CIImage
- dictionary
- workerThread
- ios
- UIView
- optional
- 꺼내먹어요
- NSManagedObjectModel
- Swift 3
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |