[iOS] xcode error



다른 컴퓨터에서 프로젝트를 복사해와서 작업할때


xcode 컴파일시 다음과 같은 오류가 발생할수 있다.

file:///Users/username/Documents/project/myproject/Pods/Alamofire/Source/Stream.swift: warning: Missing file: /Users/username/Documents/project/myproject/Pods/Alamofire/Source/Stream.swift is missing from working copy

  "protocol descriptor for SMSwipeableTabView.SMSwipeableTabViewControllerDelegate", referenced from:

  "SMSwipeableTabView.SMBackgroundColorAttribute.unsafeMutableAddressor : Swift.String", referenced from:


  "SMSwipeableTabView.SMBackgroundColorAttribute.unsafeMutableAddressor : Swift.String", referenced from:


  "direct field offset for SwiftValidator.ValidationError.errorMessage : Swift.String", referenced from:


……………………………………….

Undefined symbols for architecture arm64




이럴 경우 Xcode DerivedData 디렉토리 내의 모든 파일을 삭제하고 다시 컴파일 하면 정상작동한다


cd /Users/username/Library/Developer/Xcode/DerivedData

rm -rf *

Posted by incree

2017/03/22 12:45 2017/03/22 12:45
,
Response
0 Trackbacks , 0 Comments
RSS :
http://www.incree.com/tc/incree/rss/response/379

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다


Daum map에 Custom Marker 넣기

안드로이드앱에 다음 지도를 넣고 지도에 커스텀 마커를 표시하려고 할때

다음에서 제공하는 샘플앱을 그대로 따라하면 에러나면서 앱이 죽어버린다.

로그캣에 알수없는 오류 내용만 뱉어내고 죽기 때문에 오류 내용으로는 원인을 찾기가 어렵다.

샘플앱에 있는 "키워드 장소검색"은 정상 작동하기 때문에 서로 어떤 차이가 있는지 비교해서 오류를 해결했다.


에러가 나는 코드가
mapView.addPOIItem(mCustomMarker);
mapView.selectPOIItem(mCustomMarker, true);

mapView.setMapCenterPoint(CUSTOM_MARKER_POINT, false);


이 부분인데, 오류의 원인은 결론적으로 맵이 초기화 되기 전에 이 메소드들이 호출돼 발생하는 것이었다.


따라서 이 코드들이 맵이 초기화 완료된 후(onMapViewInitialized) 에 호출되도록 수정하면 된다.




다음 샘플앱 소스
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.demo_nested_mapview);
    mMapView = (MapView) findViewById(R.id.map_view);
    mMapView.setDaumMapApiKey(MapApiConst.DAUM_MAPS_ANDROID_APP_API_KEY);
    mMapView.setMapViewEventListener(this);
    mMapView.setPOIItemEventListener(this);

    // 구현한 CalloutBalloonAdapter 등록
    mMapView.setCalloutBalloonAdapter(new CustomCalloutBalloonAdapter());
    createDefaultMarker(mMapView);
    createCustomMarker(mMapView);
    createCustomBitmapMarker(mMapView);
    showAll();
}

@Override
public void onMapViewInitialized(MapView mapView) {

}


이와 같이
createDefaultMarker(mMapView);
    createCustomMarker(mMapView);

    createCustomBitmapMarker(mMapView);
이 메소드들이 onCreate에서 호출하는데

이들을 모두 onMapViewInitialized로 이동하면 된다.


수정된 소스
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.demo_nested_mapview);
    mMapView = (MapView) findViewById(R.id.map_view);
    mMapView.setDaumMapApiKey(MapApiConst.DAUM_MAPS_ANDROID_APP_API_KEY);
    mMapView.setMapViewEventListener(this);
    mMapView.setPOIItemEventListener(this);

    // 구현한 CalloutBalloonAdapter 등록

    mMapView.setCalloutBalloonAdapter(new CustomCalloutBalloonAdapter());
}

@Override

public void onMapViewInitialized(MapView mapView) {
    createDefaultMarker(mMapView);
    createCustomMarker(mMapView);
    createCustomBitmapMarker(mMapView);

    showAll();
}



추가로 라이브러리의 위치가 메뉴얼과 샘플앱이 다르게 표현돼 있는데, 샘플앱과 같은 위치에 두어야 정상작동한다.


샘플앱의 라이브러리 구조
사용자 삽입 이미지




다음 메뉴얼의 라이브러리 구조
http://apis.map.daum.net/android/guide/
사용자 삽입 이미지





그외에 다른 이슈도 있는 것 같은데 다음 url 참조
http://jaysul.blogspot.kr/2015/01/andro ··· %3Fm%3D1




















Posted by incree

2017/03/05 16:26 2017/03/05 16:26
, , , ,
Response
0 Trackbacks , 0 Comments
RSS :
http://www.incree.com/tc/incree/rss/response/378

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다


Notices

Archives

Authors

  1. incree

Recent Trackbacks

Calendar

«   2017/03   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Site Stats

Total hits:
435938
Today:
113
Yesterday:
230