분류 전체보기
-
swift 정리 1swift 2023. 7. 16. 15:06
배열 및 반복문 //반복문 // 레인지 // 0...5 // 0에서 5까지 for i in 0...5 { print("호호 index: \()") } // 0에서 5 밑에 까지만 for i in 0.. String { // 스위치문을 통해 schooleDetail 자신에 있는 값기준으로 케이스를 나누어줌 switch self { // 타입이 elementary면 case .elementary(let name): // 아래와 같은 것, 파라미터로 받아온 문자열을 반환 return name case let .middle(name): // 위와 같은 것, 파라미터로 받아온 문자열을 반환 return name case let .high(name): return name } } } let myMiddleSchoo..
-
DynamicLinks 암호화 / 복호화firebase 2023. 7. 11. 10:49
필자의 경우 JAVA 에서 암호화 된 값을 dart에서 복호화해 api 통신을 통한 자동 로그인을 구현했습니다 flutter 3.7.12 기준 AES/CBC/PKCS5Padding 기준 암호화 aes cbc 방식이란? 암호 블록 체인 (cipher-block chaining, CBC) 방식은 1976년 IBM에 의해 개발되었다. 각 블록은 암호화되기 전에 이전 블록의 암호화 결과와 XOR되며, 첫 블록의 경우에는 초기화 벡터가 사용된다. 초기화 벡터가 같은 경우 출력 결과가 항상 같기 때문에, 매 암호화마다 다른 초기화 벡터를 사용해야 한다. CBC 방식은 현재 널리 사용되는 운용 방식 중 하나이다. CBC는 암호화 입력 값이 이전 결과에 의존하기 때문에 병렬화가 불가능하지만, 복호화의 경우 각 블록을 ..
-
kotlin 문법 정리 (2)kotlin 2023. 7. 8. 15:56
오버리이딩과 추상화 부모 클래스가 있는 상속 받는 경우 같은 이름의 메소드등 재정의를 할수가 없다 하지만 코틀린에서는 부모 클래스에 open 키워드를 붙여주면 가능하다 또한 자식에서는 override 를 붙여주면 사용이 가능 fun main() { var t = Tiger() t.eat() } open class Animal { open fun eat() { println("음식을 먹다") } } class Tiger : Animal() //음식을 먹다 fun main() { var t = Tiger() t.eat() } open class Animal { fun eat() { println("음식을 먹다") } } class Tiger : Animal() { override fun eat() { pri..
-
kotlin 문법 정리 (1)kotlin 2023. 6. 17. 16:40
특징 자바를 대체 하기 위한 개발 언어 자바의 몇몇 약점들을 개선 자바 가상머신과 호환 되도록 제작 클래스 이름의 표기법은 파스칼 표기법 ClassName 함수 변수 이름 카멜 표기법 functionName 코틀린으느 두가지 방식으로 변수를 선언 var 일반 적인 변수 언제든지 읽기 쓰기 가능 val 런타입 변수로 한번 실행되면 수정 되지 않음 클래스에 선언된 변수 Property 이외에 Scope 내에 선언된 변수 Local Variable(로컬 변수) ※ 코틀린은 기본적으로 NUll을 허용하지 않음 fun main() { var a : Int println(a) // Variable 'a' must be initialized // 에러 발생 } fun main() { var a : Int = 123 ..
-
flutter FCM 메시지 ios 수신시 알림음 및 진동 울리지 않는 현상firebase 2023. 6. 14. 17:21
fcm을 평소 사용하면서 개발을 해왔다 하지만 언제부터인가 아이폰에서만 PUSH 가 와도 진동이나 알림음이 들리지 않는것같아 골머리를 앓았다. 포그라운드에서는 정상적이지만 백그라운드에서 되질 않아 이곳 저곳 다 수정해보고 apn도 새로 받아 수정도 해보았지만 똑같았다, 알고보니 메시지를 fcm 서버로 보낼때 json 값으로 값으 보내줘야 했던것 android는 디폴트가 알림음을 울려주는것이라면 IOS에서는 그렇지 않았다 해결방법 { "message": { "token": "토큰", "notification": { "title": "Test", "body": "Test message" }, "android": { "notification": { "sound": "default" } }, "apns": { ..
-
Kakao API - Flutterflutter 2023. 6. 7. 10:54
kakao_flutter_sdk: ^1.4.2 기능 소개 메시지 API는 사용자가 카카오톡 친구에게 카카오톡 메시지를 보내는 기능을 제공 공유 API 흐름 카카오톡 공유 API는 서비스 클라이언트에서 카카오톡 앱을 실행시켜 카카오톡 메시지를 보냄 카카오톡 공유 API는 카카오가 제공하는 카카오톡 친구 또는 대화 목록 페이지를 띄워 사용자가 메시지를 보낼 수 있도록 함 따라서 서비스가 카카오톡 친구 정보를 출력하는 페이지를 직접 만들 필요가 없고, 모든 카카오톡 친구가 목록에 포함됨 메시지 API 카카오톡 메시지 API는 친구목록 가져오기 API 를 통해 받은 친구 정보 중 지정한 친구에게 메시지를 보내는 기능을 제공 https://developers.kakao.com/docs/latest/ko/kakao..
-
receive_sharing_intent 환경 셋팅 관련 IOS 오류flutter 2023. 5. 11. 16:44
receive_sharing_intent 환경 셋팅 모두 끝내고 공유 버튼 클릭시 아이콘은 뜨는데 클릭시 아무런 동작이 없다면? 정말 많은 자료를 찾아보았고 해결방법으로는 hostAppBundleIdentifier = "com.test.apps.ctsApp" 이부분! 이부분에 대해 큰 설명이 pub.dev에 없어서 헷갈렸는데 아래 코드들을 살펴보면 let userDefaults = UserDefaults(suiteName: **"group.\\(this.hostAppBundleIdentifier)"**) 이러한 코드가 있다 결국 우리는 x-code에서 a—group을 설정했을텐데 hostAppBundleIdentifier 값은 구릅 값을 넣어야함 앞에 group 빼고 userDefaults 에서 그룹 이..
-
Xcode에서 빌드 시 Failed to prepare device for development 오류가 발생했을 때 해결 방법Ios 관련 2023. 5. 11. 16:42
핸드폰을 재부팅 해본다 만약 그래도 되지 않는다면 본인 ios 버전을 확인 설정 -> 일반 -> 정보 순으로 들어가면 '소프트웨어 버전’ 아래 사이트 접속 https://github.com/filsv/iOSDeviceSupport GitHub - filsv/iOSDeviceSupport: Xcode iPhoneOS (iOS) DeviceSupport files (6.0 - 16.4) Xcode iPhoneOS (iOS) DeviceSupport files (6.0 - 16.4) - GitHub - filsv/iOSDeviceSupport: Xcode iPhoneOS (iOS) DeviceSupport files (6.0 - 16.4) github.com 휴대폰 버전에 맞는 소프트웨어 버전을 다운 터미널창..