오늘도 공부 중에 에러가 떠서 기록 겸 남겨둡니다.



Linker command failed with exit code 1 



에러명은 위와 같고, 해결 방법은 


에러가 나는 프로젝트의 Build Settings로 들어가셔서 Architectures에 있는 $(ARCHS_STANDARD)를 $(ACRHS_STANDARD_32_BIT)로 바꿔주시면 됩니다.

원인은 build에서 32bit를 지원하지 못하는 버그 때문에 구형 디바이스에서 에러가 뜨는 것이였습니다.

하지만 찾아보니 위 에러에 대한 해결법이 다양한 것으로봐서 이 경우에만 출력되는 에러메시지는 아닌 것 같습니다.


이런 방법도 있다 라고 참고용으로 알아두시면 좋을 것 같습니다.



ps. 제가 며칠전에 겪은 에러라 결국 해결방법을 적은 출처를 찾지 못했습니다. 나중에 찾으면 꼭 올리도록 하겠습니다.ㅠㅠ

오늘 남들 다 Swift공부하는 시대에 Objective-C를 공부하기 시작했습니다.

까다롭기로 소문난 iOS라 어느 정도 걱정을 하긴 했는 데 Xcode사용법에서부터 하루를 날렸네요..


돌고돌아 본격적으로 코딩 시작하고나서 만난 첫 에러는 아래와 같습니다.


EXC_BAD_ACCESS (code=2, address=주소값) 



.. 구글링을 해봤는 데 이것 저것 설정을 바꾸라는 말부터 NSZombie라는 웬지 써선 안될 것 같은 명칭의 기능을 써야한다고 나오길래

영 마음에 안들어서 다른 방법이 없을까하고 찾던 중 답을 찾았습니다. 저같은 경우는 self.a.b 처럼 중복으로 들어가서 콜했을 때 나온 문제였는 데,

이처럼 처리했을 때 a부분의 처리가 늦어지면 무한루프가 만들어져서 생기는 문제라고 합니다.


수정 방법은 self를 빼고 _a.b 로 처리하면 되네요.. 


제가 Objective-C는 정말 1도 모를 뿐더러 기록을 위해 올려놓은지라 출처를 직접 읽어보시는 게 좋을 것 같습니다.



출처

https://stackoverflow.com/questions/14916332/how-do-i-debug-exc-bad-access-code-2-while-using-arc

+ Recent posts