Terminal에서 git 언어 설정 변경하기

|

개인 공부 내용을 정리한 글입니다.
잘못된 내용이 있다면 편하게 댓글 남겨주세요!


문제 상황

  • 터미널에서 git이 계속 한글로 출력되어 나왔다.
  • git을 사용할때 한글로 나오면 물론 편한점도 있겠지만 에러가 나는 경우
  • 구글링을 해야하는 경우가 많은데, 한글로 나오는 에러는 구글에서 찾기가 쉽지 않다.
  • 따라서 무엇을 사용하든 영어로 사용하는 것이 훨씬 좋다.

해결 방법

나는 zsh을 사용하기 때문에 zsh에서의 해결방식을 보여줄 것이지만
bash에서도 설정 명령어는 같기에 그대로 진행해도 괜찮을 것이다.

우선 터미널에서 zshrc로 진입한다.

vi ~/.zshrc

그리고 아래 명령어를 적어준다

# Set Git language to English
alias git='LANG=en_GB git'

위 명령어 저장 후 나와서 터미널에 아래를 작성하면 끝!

source ~/.zshrc

app Transport Security has blocked a cleartext HTTP 에러 해결하기

|

개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.


app Transport Security has blocked a cleartext HTTP

iOS 앱 개발 시 http 서버와 통신하려고 하면 구동중에 이런 에러가 발생한다.
ATS 문제임을 알 수 있다.

App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure.
Temporary exceptions can be configured via your app's Info.plist file.

Solution

Apple 측에서 앱 자체의 보안성을 위해 ATS(App Trasport Secuirty)라는 정책을 통해 기본적으로 https 통신을 하도록 유도하고 있는것이다.
ATS란 무엇인가? > ATS가 무엇인지 모르겠다면 해당 포스팅을 읽어보도록 하자!

아무튼 http 서버로 테스트하기 위해선 Info.plist 에서 ATS 부분을 추가해주어야 한다.
NSAppTransportSecurity의 NSAllowsArbitraryLoads 값을 true로 지정해준다.

그러면 해당 에러가 해결될 것이다!

Xcode에 Custom Font 추가하기

|

개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.


Xcode에 Custom Font 추가하기

xcode에서 기본으로 제공해주는 폰트가 아닌 커스텀 폰트를 적용하고 싶을 때 아래와 같은 방법을 사용하자!

1. 프로젝트 파일에 폰트 파일을 import

우선 원하는 폰트 파일을 다운로드한다.
.ttf .otf 파일 모두 지원되지만 .wotf 파일은 인식하지 못한다.

이때 중요한 것은 import시킬 때, 아래와 같은 창이 생기는데, Add to targets 에 자신이 만든 프로젝트를 반드시 체크해야한다는 것이다. target 설정을 하지 않으면 폰트 파일을 프로젝트 내부에서 인식하지 못하기 때문이다.

(추가로 폰트 파일은 디렉토리 depth 상관없이 인식시킬 수 있기 때문에 나는 {프로젝트 디렉토리}/SupportingFiles/Fonts/디렉토리 에 위치시켰다.

2. Info.plist에 폰트파일 정의

Info.plist파일은 프로젝트의 내용을 요약해놓은 파일이기 때문에 우리가 어떤 커스텀 폰트가 사용되는지 정의해줘야 한다.

Info.plist파일 내부 > Information Property List > Fonts provided by application 항목이 존재한다면 해당 리스트에 새로운 아이템을 추가하고 없다면 Fonts provided by application 항목을 생성해준다.

생성한 Fonts provided by application에 사용한 커스텀 폰트 파일명을 정의해주고, 정의할 때 주의할 점은 파일명의 확장자 까지 다 적어줘야 한다는 것이다. (Apple SD Gothic Neo Bold.otf 와같이 다 적어줘야 폰트인식을 한다.)

3. 코드에 적용

@IBOutlet 를 통해 UIFont를 잡아줘야한다.
잘 모르겠지만 위와 같은 방식으로만 하면 스토리보드상에서 글꼴이 나타나지 않는것 같다. (내가 잘못한 걸수도..)

Extensions/UIFont.swift

import UIKit

extension UIFont {
    class func AppleSDGothic(type: AppleSDGothicType, size: CGFloat) -> UIFont! {
        guard let font = UIFont(name: type.name, size: size) else {
            return nil
        }
        return font
    }

    public enum AppleSDGothicType {
        case Bold

        var name: String {
            switch self {
            case .Bold:
                return "AppleSDGothicNeo-Bold"

            }
        }
    }
}

ViewControllers/UserCell.swift

func initUI() {
    self.name.font = UIFont.AppleSDGothic(type: .Bold, size: 16)
    self.contact.font = UIFont.AppleSDGothic(type: .Bold, size: 13)
//        self.contact.textColor = UIColor(red: 134, green: 142, blue: 150, alpha: 0)
    self.regdate.font = UIFont.AppleSDGothic(type: .Bold, size: 13)
}

CGPoint, CGSize, CGRect, CGFloat

|

개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.


  • CGPoint: 위치를 나타냄. 2차원 좌표계의 점(x,y)
  • CGSize: 크기만을 나타냄.(width, height)
  • CGRect: 크기와 위치를 나타냄. (CGPoint + CGSize) > (x, y, width, height)

CGPoint

2차원 좌표계의 점을 나타내는 구조체

public struct CGPoint {
  public var x: CGFloat
  public var y: CGFloat
  public init()
  public init(x: CGFloat, y: CGFloat)
}

CGSize

width와 height의 값을 나타내는 구조체

public struct CGSize {
  public var width: CGFloat
  public var height: CGFloat
  public init()
  publit init(width: CGFloat, height: CGFloat)
}

CGRect

위치와 크기를 나타내는 구조체

public struct CGRect {
  public var origin: CGPoint
  public var size: CGSize
  public init()
  public init(origin: CGPoint, size: CGSize)
}

This app could not be installed at this time 시뮬레이터 에러 대처하기

|

개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.


This app could not be installed at this time

xcode로 코딩을 하다 시뮬레이터를 돌릴때 이런 에러를 띄워주는 경우가 있다.
수시로 업데이트 되는 개발도구이다보니 버그가 생겼을 수도 있고 특정 리소스가 엉켜서 발생하는 에러일 수도 있다.

그런데 위와 같은 에러는 빌드는 잘 되는데, This app could not be installed at this time 이 에러 문구만 띄울 뿐 시뮬레이터에서 디버그모드 실행이 되지 않고 있음을 보여주고 있다.

비슷한 문제를 겪은 사람들이 있어보여 첫번째 아래와 같은 방법을 실행해보았다.

1. 시뮬레이터 리셋

시뮬레이터 메뉴바상단에서 [Editor] > [Erase All Content and Settings] 실행

이렇게 하면 시뮬레이터가 잘 실행된다. 그런데 문제는 코드에서 또 무언가를 고친 뒤 다시 시뮬레이터를 실행하려하면 위와 같은 에러가 또 다시 발생한다는 것이다. 즉, 본질적인 문제가 해결되지 않음을 알 수 있었다.

Stackoverflow 참고

2. Display Name을 영어로 변경

혹시 나처럼 앱의 Display Name이 한글로 되어있다면…. 자 영어로 한번 바꿔보도록 합시다.

그렇게 했더니 나는 놀랍게도 위와같은 에러가 더이상 발생하지 않았다….

iPhone Dev 참고