소프트웨어개발 23

애플 2025 WWDC / WWDC25 Platforms State of the Union 요약

애플의 2025년 WWDC인 WWDC25 의 Platforms State of the Union 세션 내용을 요약합니다.이 세션에서는 개발자들이 이번 26버전 플랫폼에서 사용할 수 있는 대표적인 새로운 기능들에 대한 소개를 하고 있습니다.이 세션을 보고 나서 필요한 세부 세션들을 확인해 보면 될 것 같습니다. --개요애플실리콘을 이용,Metal : Low level API를 이용해 하드웨어의 잠재력을 최대한 발휘.Apple Intelligence : 강력한 생성 모델과 개인정보 보호 기능.Swift : 시스템, SDK, App 전반에 걸쳐 높은 성능과 안전을 제공.SwiftUI : 풍부한 상호작용. 애니메이션과 적응형 디자인 구현.High level APIsiCloud 및 CloudKit : 기기간 앱 ..

애플 2025 WWDC / WWDC25 키노트 요약 정리

조금 늦었지만, 지난주 열린 Apple 의 2025년 WWDC (애플세계개발자대회) WWDC25 의 키노트를 요약합니다.WWDC 자체는 세션들이 워낙 방대하기 때문에, 키노트에서 전체적인 개요를 확인하고, 관심있는 분야를 찾아서 시청하면 될 것 같습니다. WWDC25 키노트 요약 애플 플랫폼들 : iOS, watchOS, tvOS, macOS, visionOS, iPadOS▶ Apple Intelligence자연어를 통해 다양한 AI를 통한 작업을 할 수 있음.iCloud까지 확장된 개인보안으로 그 내용을 애플조차도 알 수 없음지원 언어 확대 (한국어 포함)Foundation Models frameworkApple Intelligence의 근간이 되는 온디바이스 LLM에 개발자가 직접 접근할 수 있게 ..

구글 플레이 개발자 계정 인증 - 개인사업자 개발자 계정 확인 (조직계정)

2024년 초 쯤이었나요? 구글에서 구글 플레이 개발자 계정 인증을 의무화 했죠.미루고 미루다가 한달 정도 남아서 이제서야 구글 개발자 계정 인증 및 확인을 진행했습니다.구글 개발자 계정 인증 방법을 포스팅 합니다.  개발자 계정 유형을 무엇으로 할 것인가?  먼저 개발자 계정 유형은 "개인 계정"과 "조직 계정"이 있습니다.구글 플레이 콘솔에서 계정 유형 선택과 관련된 문서를 읽어보면, 개인 사업자는 조직 계정을 추천하는데, 그 이유는... 1) 개발자 정보에 조직 이름으로 표기됨2) 건강, 의료등과 같은 특정 카테고리는 조직 계정만 허용됨 이정도가 제일 큰 이유인것 같습니다.대신, 개발자 정보에 개인 계정과 달리 지원 전화번호가 공개 되어야 하네요. (개인 개발자는 이메일만 표기) 고민 고민 하다가 ..

NotificationManager 안드로이드 타겟 33 이상 권한 문제

기존에 잘 사용하던 로컬 알림이 안드로이드13 (API 레벨 33)을 타겟으로 빌드하니 작동하지 않습니다. 이유를 검색해 보니, 안드로이드 13에서는 노티피케이션을 위한 매니페스트 권한과, 유저에게 런타임 권한을 얻어야 사용이 가능합니다. 먼저 AndroidManifest.xml 에 노티피케이션 권한을 선언합니다. 런타임에서 POST_NOTIFICATIONS 의 권한을 사용자로부터 받았는지 확인하고, 받지 않았다면, 권한을 요청합니다. if (ContextCompat.checkSelfPermission (this, Manifest.permission.POST_NOTIFICATIONS) == PackageManager.PERMISSION_GRANTED) { // 권한을 이미 얻었습니다. } else { v..

[안드로이드] EditText 모양 바꾸기 및 선택시 모양 변경

안드로이드에서 EditText 의 모양을 바꾸고 싶을 때가 많습니다. 최근의 안드로이드에서는 EditText의 기본적인 모양이 테마에 의해 일반적으로 언더바 형태이죠. 여기서는 약간 코너에 라운드가 있는 사각형의 모양으로 바꿀겁니다. 또한 선택되었을 때 (포커스가 잡혀 있을때) 사각형의 색상도 바꿔줄 것입니다. (변경전) (변경후) 1. res/drawable 에 xml 파일 하나 추가 res/drawable 에 EditText의 모양을 지정할 적당한 이름의 xml 파일을 추가합니다. 여기서는 edittext_rounded_corner_rectangle.xml 이라고 하겠습니다. 2. 아래의 샘플과 같은 요령으로, 원하는 형태의 EditText 형태를 작성합니다. 3. 모양의 변경을 원하는 EditTex..

[iOS] Xcode 11 과 iOS 13 업데이트 급한 불 끄기 (응급 처치)

iOS 를 개발 할 때에는 새 버전의 OS가 발표 되면 새 OS에 대응하기 위해 Xcode도 그 버전에 맞는 것으로 업데이트 해 줘야 합니다. 몇달 전 출시된 iOS 13 과 Xcode 11 의 경우 기존 프로젝트를 새로 빌드하면 눈에 띄는 것 두가지가 다크모드 (Dark Mode) 에서 UI 색상이 바뀌기도 하고 뷰를 모달 형식으로 띄울 때 뷰의 스타일이 페이지 시트 스타일로 나타나는 것을 볼 수 있습니다. 먼저 뷰를 모달로 띄울 경우 Xcode 11 에서 빌드하여 iOS 13에서 실행시키면, 아래 오른쪽 화면과 같이 페이지 시트 (Page Sheet)형태로 나오게 됩니다. 의도적으로 한 것이 아니라면 원치 않는 모습일 뿐더러 저 형태에서는 뷰를 쓸어 내리면 모달뷰가 사라져 버리므로 원하는 동작도 아닐..

[iOS] Xcode 11 에서 iOS 13 미만 지원 프로젝트 만들기

Xcode 11 로 업데이트 한 후에 새로운 프로젝트를 생성하면, 기본적으로 iOS의 경우 13.x 버전을 타겟으로 하는 프로젝트가 생성됩니다. 일반적으로 호환성을 높이기 위해 어느정도 하위버전으로 타겟을 변경하게 되는데, 이번 Xcode 11은 Xcode 10과 마찬가지로 iOS 8 이상을 지원합니다. 그런데, 문제가 있습니다. 프로젝트를 생성하고 빌드 타겟을 iOS 13 미만으로 설정하였을때, 에러가 발생하며 빌드되지 않는 문제가 있습니다. 구글을 검색해 보니 역시 같은 문제가 있고 해결할 수 있는 몇 가지 방법이 나오네요. 이 글에서는 그 중 파일을 삭제하지 않고 하는 방법을 남겨둡니다. 아래와 같이 SwiftUI가 아닌 Storyboard를 선택하여 프로젝트를 생성하였음에도 불구하고....빌드 타..

[안드로이드] 프로젝트 이름 바꾸기 (패키지 이름 변경 포함)

프로젝트를 진행하다 보면, 프로젝트 이름과 패키지 이름을 바꾸어야 할 필요가 생기기도 합니다. 처음부터 잘 지어서 변경할 일이 없다면 좋겠지만, 어쩔수 없는 경우도 있죠. 개발툴이 한번에 쉽게 프로젝트 이름을 바꿀 수 있게 해 주면 좋을텐데, 이상하게도 개발 툴들이 이쪽에는 인색합니다. 이 글에서는 안드로이드 프로젝트 (안드로이드 스튜디오 프로젝트)의 이름을 바꾸는 방법을 알아보겠습니다. (패키지 이름을 변경하는 것을 포함합니다.) 구글을 검색해보면 프로젝트 이름과 패키지 이름을 바꾸는 다양한 방법이 제시되어 있지만 잘 안되는 경우가 많습니다. 아래에는 다양한 방법중 깔끔하게 성공한 케이스의 방법을 적어 둡니다. 참고로 테스트 환경은, MacOS Mojave 10.14.4Android Studio 3.3..

[안드로이드] java.lang.ClassNotFoundException ad.loadClass 비정상 종료 해결하기

올해들어 갤럭시 시리즈가 안드로이드 9 (파이)로 업데이트 되고 있습니다.저는 가능한한 매일 Play Console 앱에서 구글플레이에 올려 놓은 앱의 상태를 확인하고 있는데요...제 앱 하나가 평소에 비정상 종료가 거의 없던 앱인데 최근 72시간 내에 비정상 종료 수가 5건이나 있다고 나타납니다.내용을 자세히 살펴보니, Android 9 버전에서 구동된 앱의 ad.loadClass 에서 java.lang.ClassNotFoundException 예외가 발생했다고 하네요.ad.loadClass 이면 애드몹에서 발생한 것으로 보여집니다. 인터넷을 검색해 보니 해결 방법은 의외로 간단합니다.아래 내용을 AndroidManifest.xml 의 application 태그 안에 추가해 줍니다. 일단 API Lev..

[iOS] 아이폰 NFC 읽기 테스트 방법

2017년 WWDC 에서 애플은 아이폰에서 NFC 를 지원하는 프레임웍을 내놓았습니다. 이름하여, Core NFC ... 이름은 거창(?)하지만... NFC 의 모든 기능을 지원하는 것이 아니라, NDEF 타입1~5의 태그를 읽는 것만 오픈하였습니다. 그래서 Core NFC는 iOS 11부터 지원하며, 기대와는 달리 iOS 12 에서도 읽기만 지원하고 있습니다. 또한 사용할 수 있는 기종은 iPhone 7 을 포함, 이후 출시된 아이폰들만 지원합니다. 그런데, 내가 가지고 있는 아이폰이 NFC 가 제대로 작동하는지 어떻게 테스트해 볼 수 있을까요? NDEF 타입1~5의 NFC Tag 데이터를 가진 NFC 카드가 있다면 간단히 테스트 해 볼 수 있습니다. 다만, 제가 가지고 있는 여러 신용카드들, 출입카드..