Mobile

    [Xcode 15] Xcode 15에서 추가한 시뮬레이터가 보이지 않는 현상

    Environments - M1 Mac pro 14 - MacOS ver: 14.1.1 (Sonoma) - Xcode Version 15.0.1 문제 상황 MacOS 및 Xcode 업데이트 이후, 기존에 추가해 두었던 시뮬레이터들이 싹 날아가서 다시 새로 추가하였다. iPhone 14 시뮬레이터를 추가했는데도 Xcode에서 빌드할 때 보이지 않는 문제. 해결 시뮬레이터 목록 하단의, Manage Run Destinations에 들어간다. 추가한 시뮬레이터가 좌측에서 보일 텐데, 그 시뮬레이터 창에서 Show run destination을 Automatic에서 Always로 변경해주면 해결.

    [iOS, Swift] NotificationCenter 간단 요약

    개요 객체는 addObserver() 를 통해 notification center에 notification을 수신할 수 있도록 등록한다. 등록하면 객체는 observer가 되는데, 이때 어떤 notification을 수신할 지 명시해주어야 하며, 따라서 여러 가지의 notification을 수신하려면 addObserver() 를 여러 번 호출해야 한다. 앱에는 기본적으로 default notification center가 존재하며(싱글톤), 특정 notification을 관리(발행, 수신)하기 위해 새로운 notification center를 생성할 수도 있다. notification center를 통해, 앱의 한 쪽에서 다른 쪽으로 데이터를 전달할 수 있고, 객체들 간의 상호작용을 구현할 수 있다. N..

    [Swift] URLSession 간단 요약

    URLSession이란? An object that coordinates a group of related, network data transfer tasks. API 통신을 하기 위한 클래스. 데이터를 업로드 / 다운로드하는 데에 사용 앱이 실행중이지 않을 때, 백그라운드에서도 통신이 가능. 하나의 URLSession에서 여러 개의 URLSessionTask 인스턴스를 만들 수 있으며, URLSessionTask 각각은 데이터를 fetch하거나, 업로드하거나, 파일을 다운로드하는 역할을 할 수 있다. URLSession의 Request와 Response URLSession은 다른 HTTP 통신과 마찬가지로 Request와 Response를 기본 구조로 가진다. Request URL 객체를 통해 직접 통..

    [Swift(iOS, WatchOS), CreateML, CoreML] iOS & WatchOS 앱에 ML 적용해보기 (1) - 모델 생성 및 학습하기 (Activity Classification)

    iOS & WatchOS 앱에 ML 적용해보기 시리즈 iOS & WatchOS 앱에 ML 적용해보기 (1) - 모델 생성 및 학습하기 (Activity Classification) 본론으로 들어가기 전에.. 이 시리즈는 SwiftUI를 이용한 iOS 앱과, 그에 연동되는 Apple Watch 앱을 이용하고, Apple Watch에서의 CoreMotion 프레임워크를 이용해 가속도 센서의 값들을 불러와 데이터셋으로 만든 이후, Create ML을 이용해 모델을 생성하여 상기한 데이터셋을 기반으로 학습시킵니다. 이후 학습시킨 모델을 CoreML 프레임워크로 불러와, 애플 워치의 가속도 센서 값을 이용해 실시간으로 유저가 허리를 굽히고 팔을 내렸는지(쓰레기를 줍는 행동을 하..

    [Firebase, SwiftUI] Sign in with Apple(애플 로그인)과 Firebase Auth로 구현한 애플 로그인, 회원 탈퇴 구현하기

    이 글을 포스팅하게 된 배경 Apple Developer Academy의 Mini Challenge 2에서 만든 앱, 첫 심사가 무사히 통과되어 앱스토어에 올라가긴 하였으나.. 업데이트를 하려 다시 심사를 넣으니 통과하지 못했다. 이유는 계정 삭제(회원 탈퇴) 기능을 넣어야 한다는 것. 회원 탈퇴 기능을 넣지 않고, 로그인 기능만 구현하고 앱스토어에 심사를 넣었다면 모두가 언제나 겪을 일. 그 중 애플 로그인 기능에 대한 회원 탈퇴는 쉽지는 않아 보였다. 첫 로그인 이후 이메일 값을 뱉지도 않고.. 대충 생각해 봐도 탈퇴시키려면, 애플 계정 자체에서 'Apple로 로그인(Apple ID를 사용하는 앱)' 항목에서 삭제 처리를 하고, Firebase Auth에서 계정 정보를 삭제하고, FireStore에 ..

    [Flutter] FAILURE: Build failed with an exception. A problem occurred evaluating project ':app'. > path may not be null or empty string. path='null' 오류

    Environments M1 Mac pro 14 VSCode Flutter 3.3.8 Galaxy A52 (SM A525F) Error Message FAILURE: Build failed with an exception. * Where: Build file '/Users/jaewonlee/Desktop/milkflutter/android/app/build.gradle' line: 69 * What went wrong: A problem occurred evaluating project ':app'. > path may not be null or empty string. path='null' * Try: > Run with --stacktrace option t..

    [Flutter] BottomNavBar Icon에 알림 뱃지(Notification Badge) 달기

    BottomNavigationBar(CupertinoTabBar)에서 아이콘에 알림 뱃지 달아야 되는데, 은근 그냥 간단한 작업은 아니였어서 기록. BottomNavigationBar 아니여도, 알림 뱃지(Notification Badge)를 달 때 따라해도 될 것 같고, BottomNavigationBarItem 이용하는거니까 Material Style의 BottomNavigationBar든, Cupertino Style의 CupertinoTabBar든 상관 없이 참고해도 괜찮을 것 같다. 시작(기본 코드) 우선 기본적으로 이렇게 생긴 Navigation Bar에서 시작해 보겠다. 코드는 아래 참고. class Homescreen extends StatefulWidget { @override _Home..

    [Flutter] Warning: CocoaPods not installed. Skipping pod install. 오류

    Error Message Warning: CocoaPods not installed. Skipping pod install. CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side. Without CocoaPods, plugins will not work on iOS or macOS. For more info, see https://flutter.dev/platform-plugins To install see https://guides.cocoapods.org/using/getting-started.html#installation f..