Objective-C的日出和日落图书馆?

是否有一个Objective-C(或C)库(与核心位置兼容)可以告诉我任何给定日历日出日落的时间?

EDSunriseSet是由Paul Schlyter创build的C语言例程的开源免费Objective-C包装器。

计算完全由C代码例程完成。 EDSunrisetSet将这些计算连接到常见的Cocoa类(NSDate,NSTimeZone,…)

我实际上移植了KosherJava Library,并计划在GitHub上很快推出!

编辑:

KosherCocoa现在住在GitHub上! 如果您不需要与希伯来语日历相关的代码,则可以删除“日历”文件。 类文件根据它们所做的计算种类很好地分离到文件夹中。

编辑:KosherCocoa我们由于被replace为一个现代和更完整的更新,尽快我可以。 上面的链接现在指向一个传统的回购。

我使用了一个名为SUNWAIT的库。 非常简单,有效 – 易于使用!

试试这个: https : //github.com/mourner/suncalc/

非常清楚和容易实现,虽然它由javascript写,但很容易将其转换为
客观-C

它也支持计算太阳,月亮的位置和坐标。

在找不到简单的Swift替代品之后,我创build了Solar :一个Swift为Sunrise / Sunsetbuild立的微库。

只是一个说明..如果你使用伯克利之一…以及它不起作用(至less在澳大利亚)。 它确实包括Paul Schlyter C代码,这很好。

如果你想让它在任何地方工作,最好只用UTC来计算date。

在SunriseAndSunset.m中,replace双重上升的代码; 双套; 如下:

sun_rise_set(theYear, theMonth, theDay, lon, lat, &rise, &set); int hours = HOURS(rise); int mins = MINUTES(rise); int sethrs = HOURS(set); int setmins = MINUTES(set); NSTimeInterval riseOffset = ((hours * 60) + mins) * 60; NSTimeInterval setOffset = ((sethrs * 60) + setmins) * 60; [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"]; NSString *dateStr = [NSString stringWithFormat:@"%i-%02d-%02dT00:00:00+0000", theYear, theMonth, theDay]; NSDate *utcMidnight = [formatter dateFromString:dateStr]; NSDate *utcSunrise = [utcMidnight dateByAddingTimeInterval:riseOffset]; NSDate *utcSunset = [utcMidnight dateByAddingTimeInterval:setOffset]; [formatter release]; [gregorian release]; return [NSDictionary dictionaryWithObjectsAndKeys:utcSunrise, @"sunrise", utcSunset, @"sunset", nil]; 

试试这个: https : //github.com/berkley/ObjectiveCUtil

Interesting Posts