xcode
-
XCode Preview가 작동하는 원리앱등이에게 살충제를 뿌린다./iOS 2022. 9. 12. 23:07
SwiftUI를 소개하면서 애플이 소개한 기능. 뷰의 결과물을 다이나믹하게 XCode상에서 볼 수 있음 작동하는 방식을 2가지로 나누어 볼 수 있다. Preview를 위한 빌드 Live view를 지원하는 XCode Extension Preview 빌드 Preview를 위한 빌드가 무슨 말이냐?? 빌드를 2가지로 나누어보자. Normal 빌드: 우리가 일반적으로 XCode Scheme과 빌드 셋팅에 따라 하는 빌드 Preview 빌드: Normal 빌드와 분리된 다른 빌드. Normal에 더불어 몇가지 컴파일 옵션이 추가된 것. Preview빌드는 일반 XCode빌드에 전혀 영향을 주지 않는다. 어떤 Object파일, artifect도 공유하지 않는다. Code 변경 적용 코드 변경은 Preview에 라..
-
[iOS/Push] XCode에서 푸쉬알림으로 앱실행하는 것을 디버깅하려면?앱등이에게 살충제를 뿌린다./iOS 2017. 6. 9. 00:13
와.. 진짜 무식하면 손발이 고생한다고 누군가 나의 귀에 속삭인 것 마냥 손발이 힘들었다. 앱에서 푸쉬알림을 받으면, 3가지의 경우가 존재한다. 1. App running on the foreground2. App running on the background3. App not running 디버깅을 생각해보자.1, 2번의 경우는 XCode에서 평소와 같이 Build&Run을 하여 디버깅을 하면 된다. 하지만 3번의 경우는 어떻게 디버깅을 할 수 있을까?난 무식한 놈이라서 로그를 찍으면서 개발을 하였다. 하지만 사실은 안그래도 된다.아래 사진처럼 Edit Scheme메뉴에서 Wait for executable to be launched를 선택한 뒤에 빌드해주자. 이렇게 하면 앱이 아이폰에 Install되..
-
[CALayer] CAScrollLayer에 대해서 알아보자.앱등이에게 살충제를 뿌린다./iOS 2017. 6. 6. 23:46
예제에 사용된 앱 : https://itunes.apple.com/us/app/layer-player/id949768742?mt=8예제에 사용된 소스 : https://github.com/scotteg/LayerPlayer원문 : https://www.raywenderlich.com/90488/calayer-in-ios-with-swift-10-examples CAScrollLayer는 스크롤가능한 Layer를 표현합니다. CAScrollLayer는 간단한 편이고, 사용자의 터치나 제스쳐에 다이렉트로 respond할 수 없습니다. 그렇다면 UIScrollView의 layer는 CAScrollLayer타입일까? 라는 의문이 생길 수 있는데요. 그건 아닙니다. UIScrollView는 CALayer의 bou..
-
Photos Framework를 이용하여 사진을 가져오자. 샘플코드앱등이에게 살충제를 뿌린다./iOS 2017. 3. 11. 23:14
http://rhammer.tistory.com/229에서 Photos 프레임워크의 주요 클래스들에 대한 이야기를 했습니다.하지만 샘플코드가 있어야 이해가 빠를듯 하여 샘플코드를 작성해보았습니다. 이 샘플코드를 작동시키기 위해서 필요한 조건은 아래와 같습니다.1. XCode8, Swift32. 새 프로젝트를 만들면 스토리보드의 Initial ViewController가 UIViewController로 되어있죠? 이 친구를 UICollectionViewController로 바꿔주세요.3. 새롭게 만든 UICollectionViewController의 Cell은 ImageCell이라는 클래스로 바꿔주시고, 셀에는 이미지뷰를 추가하여 아래 샘플코드의 IBOutlet으로 연결해주세요.4. Privacy - Ph..
-
[iOS] Photos Framework를 알아보자. (간단히)앱등이에게 살충제를 뿌린다./iOS 2017. 3. 11. 22:55
as of iOS10.2, XCode8, Swift3 앱에서 사진첩에 있는 사진, 동영상을 보여줄일이 많습니다.이 때, Photos 프레임워크를 사용해야합니다.기존에는 AssetsLibrary 프레임워크를 많이 사용했지만 iOS9에 들어서 Deprecated되었다. 대체로 사용해야할 프레임워크가 바로 Photos프레임워크인거죠. Photos 프레임워크에 있는 클래스는 PH라는 Prefix를 갖습니다. ex) PHAsset, PHCollection 등등. Photos 프레임워크를 사용해야 한다는 사실을 알았으니, 이 글에서는 Photos에서 제공하는 주요 클래스들에 대한 이야기를 해볼까합니다.(야 다 집어치코 샘플코드내놔 하시는 분은 링크를 클릭) -> 링크PHAssetPHAssetCollectionPHC..
-
[XCode] Xcode 템플릿(Template)을 만들어보자.앱등이에게 살충제를 뿌린다./iOS 2017. 3. 10. 14:02
배경로그를 print로 찍어오다가 CleanroomLogger라는 오픈소스를 사용하게 되었다. 스위프트 파일을 생성할 때마다, import CleanroomLogger라는 구문을 찍는 것이 너무 귀찮은 나. 정상인가요? 목적스위프트파일을 새로 생성할 때마다, import Foundation 밑에 import CleanroomLogger가 찍혀있었으면 좋겠다. 과정1. terminal 오픈 2. 다음 커맨드 입력$ mkdir -p ~/Library/Developer/Xcode/Templates/Custom$ cp -R /Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File\ Templates/Source/Swift\ File.xcte..
-
[푸쉬알림] iOS앱에서 푸쉬알림 등록하기 (AppDelegate 사이클정도만)앱등이에게 살충제를 뿌린다./iOS 2017. 3. 10. 13:39
iOS10 / Swift3를 기반으로 작성하였습니다. 대부분의 앱이 알림기능을 사용하는데요.이 기능을 구현하려면 굉장히 많은 작업이 필요합니다.APP ID에 푸쉬서비스 등록, 푸쉬 인증서 발급, 앱에 알림권한 획득을 위한 코드추가, Provider서버 구축 등등.정말로 많아요. 이 중에서 "앱에 알림권한 획득을 위한 코드추가" 이 부분만 간단하게 스토리텔링하듯 적어보겠습니다. 1. 단말에서 알림을 받으려면 디바이스 토큰이 필요합니다.애플의 푸쉬알림은 APNs(Apple Push Notification Service)에서 발송하는데요. 이 때 애플서버에서는 디바이스토큰을 통해 푸쉬알림을 보냅니다.이 디바이스 토큰을 만들어 애플서버에 알려주는 과정만 살펴볼 예정입니다. 2. 푸쉬알림을 사용하는 앱이라면 앱이..
-
[Swift] Swift로 유닛테스트를 하려면? How to Unit-test in Swift?앱등이에게 살충제를 뿌린다./Swift 2017. 1. 9. 19:11
Writing Tests with SwiftThe Swift access control model prevents tests from accessing internal declarations in the app or framework. To access internal functions in Swift with Xcode 6, you need to make these entry points public for testing, reducing the benefits of Swift’s type safety.Xcode 7 provides a two-part solution for this problem:Swift internals are made accessible when building for testi..