在cocoapod内部调用时,NSCalendar currentCalendar返回nil?

时间:2014-06-30 19:02:49

标签: ios nsdate cocoapods nscalendar

我正在为NSDate的类别工作,以添加诸如[date isEquivalentToToday]之类的方法。我让这个类别工作得很好,然后搬进了一个定制的cocoapod。我一做到这一点就停止了工作。事实证明,因为[NSCalendar currentCalendar]和[calendar components:fromDate]在cocoapod中被调用时似乎根本不起作用。任何人都可以解释为什么会这样,以及是否有办法使这项工作?

如果您需要一些代码来查看这是我在isEquivalentToToday顶部所做的事情:

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

当此代码包含在应用程序本身中时,它会返回一个表示今天时间分量为零的NSDate。

只要我将相同的代码移动到cocoapod并让我的应用程序调用它,前两行返回nil。

我尝试将有效的NSCalendar对象传递到cocoapod,但是组件:fromDate:方法仍然返回nil。

我不仅仅是将这些代码拉回到我的项目中,因为将它拆分成可重复使用的pod是很好的。但是现在我还没有看到任何其他方法让这个再次起作用。其他人之前遇到过这种情况吗?

1 个答案:

答案 0 :(得分:1)

在花费更多时间研究它之后,看起来代码实际上正常运行,但是当我进入pod或停在其中的断点时,调试器没有报告正确的信息。

我能够通过将此代码移回我的主项目来解决问题。