전체 글

전체 글

    [REACT NATIVE] 안드로이드 APK(AAB) 파일 생성하고 Release 빌드하기

    1. keystore 생성 터미널을 켜고 프로젝트 폴더에서 아래를 실행해준다. 여기서 your_key_name 과 your_key_alias 에 원하는 이름을 작성해준다. your_key_alias 이름은 기억해두자! keytool -genkey -v -keystore your_key_name.keystore -alias your_key_alias -keyalg RSA -keysize 2048 -validity 10000 위 명령어를 실행하면 비밀번호를 포함해서 여러 질문들이 나온다. 입력해주자. 비밀번호를 제외하고는 그냥 엔터치면 unknown 으로 입력되고 넘어간다. 필수사항은 아니니 그냥 엔터치고 넘어가도 된다. Enter your keystore password: Re-enter new passw..

    [REACT NATIVE] react navigation 정리

    ※ react navigation 6.x 기준입니다. 1. navigate to Tab navigator react navigation 에서 Tab navigator 로 navigate 할 때 기본적으로 initialRoute 로 넘어간다. 종종 initialRoute 말고 다른 탭의 screen 으로 넘어가고 싶을 때가 있는데, 매번 방법을 까먹어서 이렇게 정리하게 되었다. navigation.navigate('Tab', { screen: "ScreenName" } ) 2. navigation stack reset 방법 screenName에는 이동할 스크린 이름을 넣으면 된다. routes 에 's' 가 붙음에 주의하자. navigation.reset({routes: [{name: "screenName..

    [REACT NATIVE] 다크모드 disable

    만드는 앱에서 항상 본래 디자인을 유지하기 위해서 다크모드를 막기로 결정했다. Android android > app > src > main > res > values > styles.xml 에서 AppTheme에 해당하는 style 부분을 다음과 같이 바꿔준다. iOS info.plist 에 다음과 같이 추가해준다 UIUserInterfaceStyle Light ** 위와 같이 info.plist 에만 추가 해주는 방법 말고 다른 방법도 있다고 한다. 위 방법으로도 충분하겠지만 혹시 문제가 있다면 아래 방법도 있으니 시도해보자. // AppDeletegate.m if (@available(iOS 13.0, *)) { rootView.overrideUserInterfaceStyle = UIUserInte..

    [swift] 기본문법(7)

    import UIKit /* 17. 옵셔널 체이닝 옵셔널에 속해 있는 nil 일지도 모르는 프로퍼티, 메서드, 서브스크립션 등을 가져오거나 호출할 때 사용할 수 있는 일련의 과정 */ struct Developer { let name: String } struct Company { let name: String var developer: Developer? } var company = Company(name: "gunter", developer: nil) print(company.developer) //nil var developer = Developer(name: "han") var company2 = Company(name: "james", developer: developer) print(compa..

    [swift] 기본문법(6)

    import UIKit /* 15. protocol 특정 역할을 하기 위한 메서드, 프로퍼티, 기타 요구사항 등의 청사진 */ protocol SomeProtocol {} protocol SomeProtocol2 {} struct SomeStructure: SomeProtocol, SomeProtocol2 {} /* 클래스는 프로토콜을 받기 전에 상속하는 슈퍼클래스를 먼저 써야한다. class SomeClass: SomeSuperClass, FirstProtocol, AnotherProtocol ... { } */ protocol FirstProtocol { var name: Int { get set } var age: Int { get } } protocol AnotherProtocol { static..