반응형

최근 진행중이던 프로젝트에서 일부를 Swift 4.0을 도입했다.

 

공식적인 처음 상용화 Swift이기도 하다.

 

(물론 작년에도 공식적으로 쓰긴 했다 클래스 1개 여서.... 어디다 말하기도... )

 

기존 Objective-C의 프로젝트에 Swift Bridge는 많이 했으니 부담은 적었다.

 

다만.... 하면서 느낀 것이 몇가지 있었다.

 

1. Swift는 4.0 부터 해야 할지 4.2 부터 해야 할지 대략 난감한....

  -> Swift 관련 예제 소스 파일을 찾아 보려고 구글 및 여러 사이트를 조사하면 구버전의 Swift 2.0, Swift 3.0의 코드가

      대부분이면 4.0이상인 코드 찾기가 어렵다.

  -> 물론 자비스급인 Xcode가 알아서 코드를 바꾸라고 가이드를 해주신다.

  -> 심지어 5.0 도 나왔다. 쿨럭

 

2. Debugging -> Break Point 를 걸어두면..... 너어어어어무 느리다

  -> 속터진다. 값 하나 볼려면 환장 한다.

 

3. 일부 문법은... 실무에 적용하기 너어어무 어렵다.

  -> guard let ?  : 참 좋은 문법인데 현재 내가 개발하는 시나리오 상에서는 guard let을 쓰면 시나리오 홀이 생긴다. (쿨럭)

  -> defer : guard let 하고 같이 쓰면 동작 안한다고 함.

  -> Objective-C의 nil 처리를 스위프트에서는 애매 함...

 

4. extension? 과 그 외 문법...

  -> 자바 같은 느낌이 강함.

 

느낀건 여기까지~!!!

 

아직은 내가 Swift로 코딩을 많이 안해 봐서 그런건가? 아님 Objective-C 에 아직도 최적화 되어 있는지.

 

3번의 경우 애매하다. 좀더 해 보면 알겠지....

 

그런데 Swift에서 nil 또는 null 처리는 참 애매하다.

 

더 봐야 할듯 싶다.

 

그리고 느낀건....... Objective-C는 .... 한 10년은 더 갈듯 싶다.....

 

아직도 Swift에서 극히 일부 Objective-C 문법 체계를 가지고 있는걸 보면 말이다.

 

반응형
Posted by onlyTheOne
,
반응형

지난번에 이어 업데이트 하기로 한 사항을 생각 났을때 올려드립니다.

먼저 며칠전 제가 지인분께 들은 바로는 iOS 최신 버전을 업데이트 한 경우

Xcode 버전을 올려야지만 break point가 걸린다고 합니다. OS X 라이언의 Xcode에서만

가능하다는 이야기를 들었습니다. 하여 해당 부분에 대해서는

제가 보유한 테스트 시료에서 iOS 버전업을 시킬 수 없는 사항인 관계로

확인은 아마 검색 결과 링크로 대체 하게 될것 같습니다.

 

그리고 iOS 5.0이 설치된 단말을 이용 Xcode 3.2.4또는 3.2.6에서 단말 디버깅시에

break point가 안걸릴때에 대한 대처 방안입니다.

이경우에는 다음과 같이 하시면 성공 가능성이 80% 정도 보장됩니다.

1. Xcode 4를 추가로 설치(기존 Xcode에 덮어 쓰면 안됩니다.)

2. 기존 Xcode 및 새로 설치한 Xcode Organizer에서 등록된 디바이스 모두 제거

3. Xcode 3.2.X대의 Xcode 완전 종료

창에 x표시 누른다고 완전 종료가 아닙니다, 하단에 Xcode아이콘 이나 메뉴에서

종료 버튼을 누르셔야 합니다.)

4. Xcode 4.x 실행하여 디바이스 organizer에 등록

5. 이후 Xcode 4종료 후 다시 Xcode 3.x 시작

6. Xcode 3.x의 Organizer 에서 장치 연결 확인

그래도 안되신다면 위에서 3항까지 하신다음

XCode4에서 먼저 break point 걸리는지 테스트 하신다음

Xcode 3.x에서 진행 하시면 될거 같습니다.

 

보다 자세한 사항은 수일내로 추가 업데이트 하겠습니다.

반응형
Posted by onlyTheOne
,
반응형
오늘은 iOS 5에서 단말 디버깅


즉 브레이크 포인트가 안걸리는 상황에

대한 대처 방법에 대해서 적어 보려고 한다.

내가 성공한 방법이며 다른 분들이 동일 상황에서 될지는

보증 할 수 없다.... (이 방법으로 3명의 이슈를 수정했다.)

자세한 내용은 오늘 중으로 정리되서 올라갈 예정이...다
반응형
Posted by onlyTheOne
,
반응형

iOS에 돌아가는 App을 개발하다 보니 memory 이슈라는게 생기게 된다.

메모리 관리도 해주어야 leak 도 안생긴다. leak 때문에 사용 가능한 메모리도 줄어 든다.

그래서 iOS는 과연 memory fragmentation을 제대로 지원해 주는지 궁금해 지고 있다

당연 유닉스 기반의 최신의 OS인지라 무조건 지원한다고 하겠지만 

앱 개발자 입장에서도 민감한 사항이다. 무작정 적은 메모리를 많이 요청 하고

그 메모리를 계속적으로 유지 한다면 큰 이슈가 될 수 있기 때문이다.

아직 정확한 정보는 없는 것 같다. 그러나 메모리를 너무 많이 할당 받는 것도

할당 받는 걸 잘 풀어주는 것도 좋은 부분이라 생각한다.
반응형
Posted by onlyTheOne
,
반응형

iOS Memory leak 에 대해서 자료 검색 도중 알게된 정보

Leak memory와 함께 존재하는 것인데 Heap에 남아 있는 거라 한다

아직 잘 이해를 못했지만 이 abandoned memory를 잡아 낼 수 있다고 한다.

혹시 leak 같지는 않지만 메모리가 의심된다면 한번쯤 찾아 보는 것도 나쁘지 않다고 생각된다.

아래는 관련된 링크 이다.

http://taehoonkoo.tistory.com/175

http://www.friday.com/bbum/2010/10/17/when-is-a-leak-not-a-leak-using-heapshot-analysis-to-find-undesirable-memory-growth/
반응형
Posted by onlyTheOne
,