우선 포스트맨 다운로드는 여기에서 할 수 있습니다! 포스트맨으로 FCM 테스트를 하려고 보니.. 다들 파이어베이스 Cloud Messaing API의 서버키를 가지고... 하시더라구요...? 근데 문제는 서버키 발급이 중단됐다는 것..! 그래서 Firebase Cloud Messaging API(V1)으로 테스트 하는 방법을 찾아보고 정리해보겠습니다. 우선 포스트맨에서 FCM으로 메시지를 보낼 때는 아래와 같은 경로로 보내야 합니다. (POST)프로젝트 ID는 파이어베이스의 프로젝트 설정 > 일반 탭에서 확인할 수 있습니다. 그리고 Authrization 탭에서 토큰을 발급 받아야 하는데요 저는 파이어베이스 사용하는 구글 아이디로 로그인했더니 자연스럽게 가져와졌습니다..! https://console.c..
SwiftUI로 새로운 프로젝트를 만들 예정인데, FCM을 사용하게 될 것 같아 Notification 테스트를 위해 사전 조사했던 부분을 정리한 포스팅입니다.파이어베이스 콘솔에서 프로젝트 새로 생성 프로젝트 번들 ID 입력App Store ID는 앱이 앱스토어에 등록된 경우에 등록한다. (웹으로 앱스토어 들어가서 앱 검색하면 URL 맨 뒤에 숫자 보이는 것이 App Store ID) GoogleService-Info.plist 파일을 다운로드 받아 프로젝트 폴더에 추가 SPM에 firebase-ios-sdk 추가우선은 FCM 테스트 용으로 생성하는 거라 Analytics랑 Messaging만 선택해서 추가했다. import SwiftUIimport FirebaseCoreclass AppDelegate:..
간결하고 효율적인 Swift 코드 테스트를 위해 나온 Swift Testing. 오픈 소스로 되어있어 언제든 코드에 접근할 수 있다. 테스트가 왜 필요한지부터 설명해주는 친절한 WWDC 영상! (UITesting은 뭐 없나 ㅎ) Swift 6.0+ | Xcode 16.0+ (미래의 내가 언젠가 쓸 일이 있겠지..!) 테스트 선언 및 테스트 값 체크import Testing@Test func videoMetadata() { // ...}XCTest 대신 Testing을 import함수 명에 test를 붙이지 않고 함수 앞에 @Test 어노테이션을 붙임. #expectimport Testing@testable import DestinationVideo@Test("Check video metadata")..
23년 wwdc 본 게 엊그제 같은데 벌써 24년 wwdc가 시작됐다...새벽에 딴짓하느라 바로는 못 봤고 오후 되어서야 보기 시작한 키노트, 시작이 아주 화려하군... 캡처하느라 다시 보니까 뛰어내리는 분들이 다 발표자 분들인 것 같다 ㅋㅋㅋㅋㅋㅋ 아래는 키노트에서 발표한 내용들 정리 캡처랑 그 중에 내가 재밌게 봤던 요소들만 조금 정리해두었다. visionOS비전프로가 굉장히 비싸서 잇섭님 유튭 영상으로만 접해본 게 다인데 벌써 visionOS 업데이트가 된단다.. 앱 개발자들을 위한 API들이 업데이트 될 예정이고, 사용자는 여러 제스처들로 비전프로를 더욱 손쉽게 사용할 수 있게 된다고 했다. 신기 했던 건 맥북 화면을 비전프로에서 더 크고 더 넓게 사용할 수 있다는 거랑 사진의 심도 조절 효과를..
원하는 시간에 맞춰 알림을 등록하고 싶을 때 사용할만한 방법. 서버가 필요하지 않은 알림은 LocalNotification으로 처리할 수 있다.Create the notification's contentlet content = UNMutableNotificationContent()content.title = "Weekly Staff Meeting"content.body = "Every Tuesday at 2pm"UNMutableNotificationContent를 생성해 title과 body에 원하는 문구를 저장한다.필요한 경우 sound나 badge도 설정할 수 있다.Specify the conditions for delivery// Configure the recurring date.var dateC..
UITest는 알파벳 순서대로 진행된다. 클래스 파일 - 파일 내부 메서드 순서까지 그래서 클래스는 UnitTest_A 이런식으로 만들고 내부 메서드는 test_01_테스트이름으로 관리했다. 앱실행 let app = XCUIApplication() app.launch() XCTestCase extension 원하는 element가 있는지 체크 후 tap할 수 있도록 XCTestCase에 extension 추가 func tap(element: XCUIElement?, timeout: Double = 1.0) { XCTAssertTrue(element?.waitForExistence(timeout: timeout) == true) element?.tap() } func checkAlert(app: XCUIA..