2013-07-12 28 views
2

什么是_SYSTEMCONFIGURATION_H或_COREDATADEFINES_H的CoreLocation等效项?检测App是否链接到CoreLocation框架

我可以使用下面的来检测应用程序是否链接到CoreLocation框架?

#ifdef __CORELOCATION__ 
// do something 
#endif 

我见过流行的开源框架如RestKit和AFNetworking(?)使用这种技术。

+2

您可以使用它来获得与AFNetworking相同的结果,但据我所知,只会告诉您是否包含标题。它不会确定框架的链接状态。 – borrrden

+2

@borrrden这是对的我认为,这就是为什么AFNetworking如果你有链接的框架但没有将它们包含在pch中的话会出错。链接测试可能是创建一个包含在框架中的类并查看它是否为零,例如, '如果(NSClassFromString(@“CLLocationManager”))' – wattson12

回答

0

是的,你应该可以使用#ifdef __CORELOCATION__。如果您检查CoreLocation.h在这里你会看到,如果定义:

#ifndef __CORELOCATION__ 
#define __CORELOCATION__ 

但是,为什么你不只是测试理论?

+0

我试过,但我得到意想不到的结果。也许,我在别处有一些问题。 – pshah