반응형

ituncesconnect 에 빌드된 파일을 업로드 할 때

수출규정 관련 문서가 누락되었다고 느낌표가 뜨는 경우가 있다.

 

이것은 어플에 암호화 기능이 있으면 반드시 추가를 해줘야하는 문서 인것같다.

필자는 암호화 기능을 써본적이 없다.

그래서 항상 무시를 했었다. 무시를 해도 암호화 기능만 없다면 정상적으로 처리가 되었다.

 

느낌표가 나오는 게 찝찝하다면, 아래와 같이 해도 될 것 같다.

xcode에서 info.plist에서 추가한다.

<key>ITSAppUsesNonExemptEncryption</key> <No>

 

 

추가 했을 경우 메세지가 사라졌다.

반응형
반응형

사실 이게 무엇인지 모른다.

다만 추측하건데, 이미지의 색상을 지원하는 포맷이랄까?

RGB 또는 256 컬러 이런게 업그레이드 되어 색상을 얼마나 지원줄 수있는지의 설정값 같다.



1. 어떻게 알았는가?


collectinView 에 저장된 이미지를 보여주기 위해 구현 하였다.

ipad 시뮬레이터에서만 이미지가 부분적으로 보여지고 있었다.

iphone 에서는 잘되는 것이 pad 에서만 안되고 있으니, 미치고 팔짝 뛸 노릇이였다.


보여지는 이미지와 보여지지 않는 이미지를 비교를 해보았다.

Xcode에서 아래와 같이 보여졌다.


- 보여지는 이미지


- 보여지지 않는 이미지



위 두 개의 이미지를 비교했을 때  Color Space가 유독 눈에 들어온다.

sRGB  와 Apple Wide Color

Apple Wide Color는 무엇인가? ㅠㅠ

아무튼 해결 방법은 Apple Wide Color를 sRGB로 바꿔주면 되는 거 아닌가



2.해결

1.기본 사진 어플리케이션에 이미지를 넣어준다.

2.해당 이미지를 선택하고 command + shift + E 를 누르면 아래와 같이 나온다.



3. 색상프로파일을 선택하고, sRGB로 선택하고 내보내기를 누르면 바뀐형식의 이미지 파일 생성된다.

4. 생성된 파일을 올리고 컴파일을 해보면 정상적으로 작동된다.



3.결론

그리고 왠지 모르게 sRGB보다 apple wide color 가 더 색을 많이 지원해 줄 것 같다는 생각이들었다.

그런데 apple wide color 인데 apple꺼인 xcode에서 지원이 안된다는 것은 좀 이상하지 않은가


구글링을 해본 결과, xcode 버그 일것 같다는 의견들이 많았다.

나도 그냥 이렇게 생각하고 싶다.

반응형
반응형


키보드가 활성화 될 때 하단 부분은 가려지게 될 것이다.

반드시 보여져야 하는 레이어들이라면 키보드 위로 올려서 보여질 수 있게 해보자.

let inputTyping = UITextView()

let buttonExecution = UIButton()

override func viewDidLoad() {

    super.viewDidLoad()

    let tap:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.dismissKeyboard))

    self.view.addGestureRecognizer(tap)

    NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardShow), name: NSNotification.Name.UIKeyboardWillShow, object: nil)

    NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardHide), name: NSNotification.Name.UIKeyboardWillHide, object: nil)

}

@objc func dismissKeyboard() {

    self.view.endEditing(true)

}

@objc func keyboardShow(notification: NSNotification) {

        if let keyboardSize = (notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue {

            if self.view.frame.origin.y == 0 {

                self.view.frame.origin.y -= keyboardSize.height

                self. inputTyping.frame.origin.y -= keyboardSize.height

                self. buttonExecution.frame.origin.y -= keyboardSize.height

        }

    }

}

@objc func keyboardHide(notification: NSNotification) {

    if let keyboardSize = (notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue {

        if self.view.frame.origin.y != 0 {

            self.view.frame.origin.y += keyboardSize.height

             self. inputTyping.frame.origin.y += keyboardSize.height

            self. buttonExecution.frame.origin.y += keyboardSize.height

        }

    }



나의 삽질은 어디까지 인 것인가?


화면의 반을 차지하는 imageView, 그 아래 textView, 그 아래 button 이 위치하도록 구현을 하였다.

여기서 내가 원하던 것은 키보드가 활성화 될 때 일부로 버튼이 보여지지 않게 하고 imageView 와 textView 창만 올라가게 끔 하려고 했다.

물론 위 소스와 동일하게 했을 시 잘 올라간다.

여기서 더 욕심을 내서 textView를 키보드 바로 위로 맞춰서 하는게 나의 목표였다.

이해가 되질 않는다면 아래 그림을 보면 될 것이다.



그런데....

키보드 바로 위로 textView를 맞춰지지 않는 것이다.

키보드에 가려져 보이지 않거나, 반만 보이거나, 너무 위로 올라가서 키보드와의 간격이 넓어지거나

온갖(?) 방법을 다 해보았다.

온갖 방법이란 내 머리속의 수학 아닌 산수를 동원하여, 위치값까지 하나하나 찾아가고,

"일단 키보드가 바라보는 디바이스의 위치값과 뷰안에 존재하는 위치값은 다를 수 있지!!" 라며

말이 되는 가설과 말도 안되는 가정들을 노트에 수십번을 적어가며

계산하고 계산하였다.


이렇게 구구절절 얘기하는 것은 그만큼 삽질을 많이 했다는 얘기이다.

결국에는 내가 세운 계산법으로는 해내지 못하였다.


포기하고 버튼도 위로 올려버렸다.

위 소스에서 한줄만 더 추가하면 된다.

소스의 파란색 글씨가 그것이다.

1. keyboardShow => self. buttonExecution.frame.origin.y -= keyboardSize.height

2. keyboardHide => self. buttonExecution.frame.origin.y += keyboardSize.height  


허무하게 이 한줄을 넣고 시뮬레이션을 돌리는 순간.

유레카!!!!


이 한줄 추가하면서 모든게 제대로 잘 보여지는데,

아래 버튼 사이즈만 내려볼까?

라는 생각이 들어버렸다.


되면 당연히 좋지만, 한편으로는 엄청 허무할 것 같다는 생각이 들었다.

성공

@objc func keyboardShow(notification: NSNotification) {

        if let keyboardSize = (notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue {

            let keyboardResize = keyboardSize.height - createButton.frame.height

            if self.view.frame.origin.y == 0 {

                self.view.frame.origin.y -= keyboardResize

                self. textView.frame.origin.y -= keyboardResize

        }

    }

}


성공은 했지만, 버튼을 위로 올리는 것이 나을 것 같아서 적용은 하지 않았다.

추후에 적용할 일이 생기면 참고하기 위해서 이렇게 글로 남겨 놓는다.

매번 느끼는 것이지만 항상 허무한 결론이다.


참고 URL

https://stackoverflow.com/questions/26070242/move-view-with-keyboard-using-swift


반응형
반응형

1. 이미지 사이즈

https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/custom-icons/

필자는 25사이즈로 한다.

참고로 이미지는 png 확장자를 사용하며, 투명바탕에 흰색 이미지를 사용하는 것이 좋은 것 같다.


2. 탭바 선택하였을 때 이미지가 변화되도록 하려면



반응형

+ Recent posts