목록앱 개발/iOS (88)
나의 발자취
조건문 for item in stride(from:to:by:) let _ = (1…10).reversed() for item in 범위 {} repeat {condition} while 일단 한번은 실행하고 나서, 조건을 판단해서 실행. (do...while 문과 비슷) terminator 파라미터 print(“df”, terminator: "") 함수 argument label addFincti(_ firstNimL Int, dfsfd){} 가변파라미터 variadic parameters func arthmaticAverage(_ numbers: Double…)-> Double {} Guard 문 1) 가독성을 높임/if문의 불편함을 해소(조건을 만족해야 다음 문장, 조건 불만족 걸러내기) 2) 여러..
iOS의 메모리 관리 기법에 대해 더 깊게 알아보고, 정리를 해보고 싶어서 듣게 되었다. 세 명의 엔지니어들이 10분정도씩 돌아가며 설명을 해준다. Memory Footprint iOS 에서 어떻게 메모리를 관리하는지 설명하는 부분인데, 일단 메모리는 크게 Clean, Dirty, Compressed로 명칭이 나뉜다. (Clean Dirty, Dirty가 압축되면 Compressed) 메모리 공간을 나눠서 세는 단위(?)를 page라고 하는데 각각 클린 메모리에는 뭐가 들어가고, 더티 메모리는 뭐가 해당된다고 설명하는 부분이다. 우리가 흔히 메모리를 사용하게 되는 앱은 더티 메모리에 해당된다. 메모리를 절약하기에 좋은 방법은 Singleton, Global Initializers이다. 싱글턴의 경우 한번..
일단 증거가 있기 전에도 나의 대답은 yes였다. 사파리로 블로그 메모 + 동시에 XCode에서 Playground를 돌리면 앱을 처음 빌드하고 시뮬레이션을 가동시킬때처럼 가동되면서 팬소리가 들린다. 그래서 메모리를 확인해보니 꽉 차고, 메모리를 주로 사용하는 앱들로 사파리와 XCode 둘이가 나와있어서 찾아보았다. https://www.idropnews.com/news/faq-are-my-pinned-tabs-in-safari-draining-battery-and-cpu-power/162714/ FAQ: Are My Pinned Tabs in Safari Draining Battery and CPU Power? Pinning a tab in Safari can be an incredible timesa..
최소 버전을 iOS 12.0 이상으로 설정하면 정상적으로 빌드가 되지않고 오류가 발생한다. 왜 그럴까? 아......이거 전에도 애플 앱 빌드하면 안되고 자꾸 오류나서 해결을 겨우 겨우 했었다. delegate어쩌고 설정을 바꿔서 겨우 해결했었는데, 이것을 해결하기 전까지는 진짜 하루종일 삽질했다. Podfile의 오류인것같다고 plist 지우고 podfile 해결하고 등등..ㅠㅠㅠ 역시나 스택오버플로우에도 podfile 관련한 내용이 적혀있는것으로 보아(https://stackoverflow.com/questions/53117077/swift-unable-to-open-file-in-target-xcode-10) 이와 연관이 있는것같은데, 정확히 pod이 무엇이고 왜 나는지 잘 모르겠다. 구글에 'mi..
나는 평소에 애플제품의 UI를 너무 좋아한다. 그리고 무엇보다도 갤럭시모델보다 애플 모델을 좋아하는 이유는 이스터에그 때문이다. 아이폰이나 기타 애플 제품을 오래 사용한 유저라면 공감할 수도 있는 부분이고, 이제 막 애플 제품에 입문한 유저에게는 불편함으로 다가올 수 있다. 애플 제품은 갤럭시보다 기능이 직관적으로 보이진 않지만 히든기능이 있어 그런 것들을 발견해내어 잘 사용하게 되는 맛이 있다. 아주 쉬운 예를 들자면 시계를 더블클릭하면 스크롤이 제일 위로 올라간다거나, 계산기에서 숫자 부분을 스와이프하면 한 숫자(figure)씩 지울 수 있고, assistive touch를 활성화 한 후 세 손가락으로 세 번 화면을 터치하면 Low light 필터를 사용할 수 있어 밤에 눈이 더 편한, 이런 기능 말..
일단 Podfile의 오류를 방지하기 위해 Xcode에서 빌드하면 안되고, .project 파일도 아닌 .xcworkspace 파일을 XCode에서 Open해야한다. 앱이름을 변경하고 다른 기기에서 컴파일하는 경우에 이런 에러가 날 수 있다고 한다. 해결방법 1. General의 deployment info에서 iOS version을 기존의 10.0에서 11.0으로 올림 2. 그리고 조금 더 아래로 내려 libPods.a 파일을 삭제해준다. 3. Build Settings에서 Enable Bitcode를 Yes로 설정한다. 그리고 궁극적으로 위의 방법을 다 해도 안되면 XCode를 닫고, 폴더명을 바꾼다. 그리고 새로운 폴더를 생성하여 그 이름을 방금 바꾼 폴더 이름으로 설정 > 프로젝트 실행하고, 프로..
자세히 보면 bash: /Users/lia/Profile/node_modules/react-native/scripts/generate-specs.sh: Permission denied Command PhaseScriptExecution failed with a nonzero exit code 접근권한이 없어서 생긴 에러다. 해결방법 터미널에서 해당 파일의 경로로 이동한다. 그리고 chmod +x 해당파일 을 입력한다. 아래와 같이. 그리고 다시 XCode에서 프로젝트를 빌드한다. 그런데도 계속 에러가 뜬다면? XCode > File > Workspace settings 에 가서 Build System을 Legacy Build System으로 변경한다.