2014-06-30 3 views
0

NSDate의 카테고리에서 [date isEquivalentToToday]와 같은 메소드를 추가하기 위해 작업하고 있습니다. 나는 위대한 일을하는 카테고리를 가지고 있었고, 그 다음 주문의 cocoapod로 옮겼다. 내가 한 것처럼 작동을 멈췄다. 그것은 [NSCalendar currentCalendar]와 [calendar components : fromDate]가 코코아포드에서 호출 될 때 전혀 작동하지 않는 것 같아요. 아무도 왜 그런지 설명 할 수 있을까요? 그리고이 일을 할 수있는 방법이 있다면? 당신은 내가 isEquivalentToToday의 상단에 무엇을하고 있었이 보는 몇 가지 코드입니다 필요한 경우NSCalendar currentCalendar는 cocoapod에서 호출 될 때 nil을 반환합니까?

:이 코드는 응용 프로그램 자체에 포함되는 경우

NSCalendar *calendar = [NSCalendar currentCalendar]; 
NSDateComponents *components = [calendar components:(NSEraCalendarUnit|NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit) fromDate:[NSDate date]]; 
NSDate *today = [calendar dateFromComponents:components]; 

, 그것은 시간이 오늘 나타내는있는 NSDate를 반환 0의 성분.

동일한 코드를 cocoapod로 옮기고 내 앱에서 호출하면 바로 처음 두 줄에서 nil이 반환됩니다.

유효한 NSCalendar 개체를 cocoapod에 전달하려고 시도했지만 구성 요소 : fromDate : 메서드는 여전히 nil을 반환합니다.

재사용이 가능한 포드로 분리되는 것이 좋기 때문에 나는이 코드를 내 프로젝트로 끌어 들이지 않을 것이다. 하지만 지금 당장 다시 작동하게하는 다른 방법은 없습니다. 다른 사람이 전에이 문제에 빠져 들었습니까?

답변

1

코드를 조사하는 데 더 많은 시간이 소비 된 후 실제로 코드가 올바르게 작동하는 것처럼 보이지만 코드가 중단 점에 들어가거나 중지 될 때 디버거가 올바른 정보를보고하지 않습니다.

이 코드를 다시 주 프로젝트로 옮겨서 문제를 해결할 수있었습니다.

+0

지금 동일한 행동이 발생했습니다. currentCalendar는 디버거에 따라 nil을 반환하지만 로깅에 대해서는 거기에 있습니다. –

+0

내 최근 편집보기 : 제 상황에서 필자가 작성한 cocoapod에서 캘린더 코드를 내 메인 프로젝트로 옮김으로써 문제를 해결할 수있었습니다. – Cruinh