iOS
-
링크 공유 & 이동 구현하기iOS 2021. 11. 23. 22:00
안녕하세요. 그린입니다🟢 이번 포스팅에서는 iOS에서 기본 기능으로 여러모로 잘 사용되고 있는 링크 공유 및 링크 이동하기에 대해 구현해보겠습니다💁🏻 다들 앱을 사용하시다가 링크복사를 통해 링크 공유하기 그리고 버튼을 눌러서 특정 웹페이지로 이동하는 등의 경험은 아주아주 당연하고 많이 있으실겁니다! 그래서 이 당연한건 당연하게 SwiftUI로 한번 도전해보겠습니다. 사실 뷰만 SwiftUI일 뿐이지 그 링크에 대한 액션은 특별할건 없어요..😅 스택오버플로나 구글링만 해봐도 링크 공유와 이동에 대해선 너무너무 공식처럼 많이 나오기에 이걸 잘 활용해서 저는 조금 더 구조적으로 만들어보겠습니다🙋🏻 우선 어떤 구현을 할것인지 시뮬레이터 동작을 보시죠! 시뮬레이터 동작 자 공유를 누르면 시뮬레이터여서 카톡이나 다..
-
AirbridgeiOS 2021. 10. 27. 21:35
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Airbridge(에어브릿지)에 대해 학습해보겠습니다💁🏻 우선 에어브릿지가 무엇인지 짚고 넘어가보도록 하죠! Airbridge란? "Airbridge는 People-based 기여도분석 서비스로서, 다양한 디바이스, 플랫폼, 그리고 운영체제를 통합하는 마케팅 성과 분석을 제공합니다. 특히 파편화되어 있는 웹사이트와 모바일 앱의 마케팅 성과 분석을 통합적으로 제공하여, 올바른 성과 분석에 도움을 줍니다. Airbridge의 People-based 분석은 자체 Identity Resolution Engine(IRE)에 기반하고 있습니다. IRE는 파편화된 고객 정보를 ‘사람’ 중심으로 묶어준 뒤, 이를 재구성하여 정확한 고객 여정을 확인할 수 있도록 도와주고 있습니..
-
App Tracking TransparencyiOS 2021. 10. 16. 10:51
안녕하세요. 그린입니다🟢 이번 포스팅에서는 App Tracking Transparency에 대해 학습해보겠습니다🧑🏻💻 우선 App Tracking Transparency가 무엇인지 알아보시죠! App Tracking Transparency? 앱 추적 투명성이라고 해석할 수 있습니다. iOS 14.5부터 애플에서 App Tracking Transparency 프레임워크가 추가되었어요. 기존에는 앱에서 사용자의 IDFA(IDentifier for Advertising)이라 불리는 광고 ID에 아무 제약없이 접근하여 수집할 수 있었어요. 그런데 아시다시피 요즘은 워낙 이런 개인정보추적에 민감하다보니 앱의 최초 실행 시 해당 앱이 추적하는것에 대한 허가를 사용자가 선택 할 수 있게되었습니다. 당연히 애플 정책..
-
Access Photo Library & Delete AssetiOS 2021. 10. 3. 09:58
안녕하세요. 그린입니다🟢 이번 포스팅에서는 디바이스 사진 앨범에 접근하는 방법 및 에셋을 삭제하는 방법에 대해 알아보겠습니다🧑🏻💻 이전에 제 포스팅중에서 화면 캡쳐 및 녹화 방지에 대해 학습해본적이 있습니다! https://green1229.tistory.com/169 화면 캡쳐 및 녹화 방지 안녕하세요. 그린입니다🟢 이번 포스팅에서는 화면 캡쳐 및 녹화 방지에 대해 포스팅해보겠습니다🧑🏻💻 제공하는 앱에서 화면 캡쳐와 녹화를 원천적으로 차단할 수 있을까요? 우선, 가능 green1229.tistory.com 그런데 화면 캡쳐와 녹화 방지된것을 얼럿만 띄워주는걸 보았는데요. 더 발전시켜서 사용자가 원한다면 캡쳐 및 녹화된 사진과 영상을 삭제할 수도 있어야 될것 같아요. 그렇다면 디바이스 사진 앨범에 접..
-
화면 캡쳐 및 녹화 방지iOS 2021. 8. 28. 09:54
안녕하세요. 그린입니다🟢 이번 포스팅에서는 화면 캡쳐 및 녹화 방지에 대해 포스팅해보겠습니다🧑🏻💻 제공하는 앱에서 화면 캡쳐와 녹화를 원천적으로 차단할 수 있을까요? 우선, 가능은 합니다. 단 우리의 코드만으론 할 수 없습니다. 무슨 소리인지 감이 안오시죠? 간략히 말해보자면, iOS에서 화면 캡쳐를 하는것은 OS의 영역입니다. 이에, 방지 기능이 구현된 라이브러리나 어떠한 솔루션을 사용하지 않는다면 코드만으론 방지를 할 수 없습니다. 그럼 어떤식으로 캡쳐와 녹화를 방지할 수 있을까요? 원천적으로 기능이 되지 않게는 할 수 없으니 사용자에게 캡쳐와 녹화가 시작 될때 얼럿을 노출시켜주면 됩니다. 그러면 사용자도 의도를 인지할것입니다. 만약 더 나아가 얼럿만으로는 안되고 캡쳐나 녹화를 이후에 무슨 일이 생..
-
Multiple Firebase EnvironmentsiOS 2021. 8. 21. 00:06
안녕하세요. 그린입니다🟢 이번 포스팅에서는 다중 파이어베이스 환경을 구축하는 방법에 대해 포스팅하겠습니다. 다중 파이어베이스 환경 구축이 왜 필요할까요? 개발을 하다보면 Prod 환경과 Dev 환경에서 다른 DB를 바라볼때가 있습니다. 만약 실제 프로덕션 파이어베이스를 가지고 테스트를 진행하면 DB 값이 바뀌게 되는 문제가 발생하니까 Dev 파이어베이스 DB 환경을 구축하는 경우가 많습니다. 그러니까 그런 Dev 파이어베이스 환경을 Xcode에서 가져오려면 다중 파이어베이스 환경 구축이 필요합니다! 자 그럼 왜 파이어베이스 환경 구축이 필요한지 알아보았는데요! 그럼 어떻게하면 구축할 수 있을까 알아봅시다. 다중 파이어베이스 환경 구축하기 생각보다 되게되게 간단합니다! 1. Firebase에서 각각의 SD..
-
DI & SwinjectiOS 2021. 8. 3. 22:07
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Swinject에 대해 알아보겠습니다🧑🏻💻 Swinject? Swinject는 의존성 주입 프레임워크입니다. 한마디로 정의하기가 참 어려운데 그럼 먼저 의존성 주입이 어떤것인지 알아봐야겠죠? 의존성 주입? Dependency Injection이라고도 불리며 객체지향을 설계하고 코딩할때 중요한 부분입니다. 복잡한 개발을 하면 할수록 코드간 의존성이 생길수가 있습니다. 예를들어 간단히 아래와 같은 코드가 있다고 가정해봅시다. class Person { var action = Action() func startWalk() { self.action.walk() } } 이럴때 startWalk 함수 호출을 하기 위해서는 Action 클래스가 정의되야합니다. 이럴경우 A..
-
Test Doubles - fake, stub, mockiOS 2021. 7. 22. 08:19
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Test Double의 3가지 종류에 대해 알아보고 구분해보겠습니다🧑🏻💻 우선 테스트 더블?? 테스트 더블은 자동화 테스트에서 실제와 유사하게 동작하면서 단순한 개체를 사용하여 동작시켜보거나 하는 테스트 과정에서 복잡성을 낮추고 독립된 코드를 테스트 검증할 수 있는 테스트 환경에서 이러한 테스트 개체가 사용되는것 입니다. 테스트 더블의 종류 1) fake - 상용되는 앱 로직 구현과 동일하게 가짜로 앱 로직 구현을 만들고 서버 DB대신 인메모리 DB를 정의하여 해당 정보로 테스트 (프로덕션 구현보다 좀 더 단순하게 만들 수 있음) - 예를들어 네트워크 통신을 하여 서버 DB를 받아 데이터를 뿌려주는 로직을 fake로는 네트워크 통신을 하지 않고 테스트 객체를 ..