모듈을 이것저것 붙이다보니 too many method 에러에 빠졌습니다..

으아… 역시나 안드로이드는 문제가 많네요…
안드로이드 쪽에 parse와 firebase 모듈을 쓰고 있습니다.
거기다가 ti.map 모듈을 붙이고 컴파일을 해보니 이런 에러가 났습니다.

[ERROR] trouble writing output: Too many method references: 65751; max is 65536.
[ERROR] You may try using --multi-dex option.

관련된 issue가 있는데 해결은 되지 않았네요…
https://jira.appcelerator.org/browse/TIMOB-18082

method를 가장 많이 가진것은 ti.map모듈에서 쓰이는 google play services 쪽입니다…

[ERROR]   1630 com.google.android.gms.games.internal
[ERROR]   5541 com.google.android.gms.internal

등등해서… gms를 다 합치면 1만5천개가 넘어 보이네요… 하 이것참…

ti.map을 git에서 클론해서 버전별로 받아서 다 테스트 해보니,
ti.map을 2.2.0로 내리니 해결됩니다만, 이건 google play services가 버전이 너무 낮아서(무려 4) 문제가 좀 있구요.

titanium sdk를 4.0.0.GA에서 3.5.1.GA로 내려서 method수를 줄이고, ti.map을 2.2.5로 해서 해결했습니다.
(ti.map 2.3.0 부터는 minsdk: 4.0.0라서요…)

결론은 아직 4.0.0.GA는 여러가지로 무리가 있네요…

와 Too many method 라니…신기하고 놀랍네요. ㅠㅠ
공유해주셔서 감사합니다.

기본적으로 android가 가지고 있는 method수가 상당히 많은데,
거기다가 titanium runtime이 가진 method수가 4.0이 되면서 또 확 늘었더라구요.
결정적으로 google play services가 너무 많은 method를 가지고 있습니다…
제가 parse 안드로이드 모듈만 안썼어도 괜찮았을거에요. 이놈도 5천개쯤 가지고 있더군요…
titanium이 버전업되어 multi-dex를 지원하기 전까지는 어떻게든 조절해가며 버텨야겠어요ㅠ_ㅠ

parse push 쓰시는거죠? 나중에 해결되면 관련해서도 글 남겨주세요.ㅋㅋ

넵넵. 모임이 늦어진 덕분에 이야기 거리가 늘어나고 있습니다 :smile:
iOS쪽 Map은 ti.map에서 제공하는 애플 지도가 별로라, yomybaby님이 fork해서 업데이트하고 계신 TiGMap을 사용해보고 있습니다.
$.mapWrap.add(mapView); 만하면 죽고 있어서 환장하겠지만… 감사드려요ㅜㅜ

음 최근 64비트 지원등 수정조금 했었어요. 아래 링크에 보시면 빌드된 zip 파일있습니다. 최신버전을 사용하세요.

사용법은 Licky 소스를 참고해보세요.

사실 저 지도 모듈 깔끔히 정리해서 공유하고 싶은데… 다른거 하고 싶은게 많다보니 못하고 있네요.

이런 친절하게 빌드까지!!
licky의 코드는 이미 보고 있었어요ㅎㅎ
모듈은 저도 로컬에서 빌드해서 사용하고 있었는데요.
테스트 앱에서는 동작하는데 실제 앱에 적용했을때 뻗는거라 제가 뭘 잘못하고 있는거겠죠 ㅠ_ㅠ

에러는

[ERROR] :  The application has crashed with an uncaught exception 'NSInvalidArgumentException'.
[ERROR] :  Reason:
[ERROR] :  *** -[NSBundle initWithURL:]: nil URL argument
[ERROR] :  Stack trace:

뭐 이런 것들이에요…

아… 해결했어요.
문제는 lib에 복사해넣은 GoogleMaps.bundle이 잘못되어 있었네요…
지우고 example에 있는 것으로 다시 복사해 넣으니 해결되었네요…
아 허무해… 뭐 삽질이 쌓여서 내공이 되는거니까…ㅠㅠ

안그래도 bundle 이야기를 하려고 했는데.ㅋㅋㅋ 저도 그걸로 삽질 했었어요.

1개의 좋아요

아침에 제 정신 가지고 lib에 GoogleMaps.bundle이 있는게 이상해서 asset/iphone에 옮겼더니 잘되네요. 이걸로 마무으리~

1개의 좋아요