NitroCore is the main features set of iOS Nitro lib. It offers categories and macros that improve coding performance. NitroCore aims to contain only features a developer would like to have in every iOS project, so it avoids getting bloated and tries to keep fast and small.
NitroCore groups together these other pods:
To make NitroCore a pod with subspecs or simply an "aggregator" pod resulted in many discussions. At the end, we decided for the latter. Why?
1) Discoverability issues: subspecs have a serious discoverability issue. You can not search for a subspec at CocoaPods, nor can a subspec have a description of its own. So developers would have to go deep in the main pod wiki, pray to have a very good readme in each subspec folder at the git repo, or to be very curious about every pod launched to discover what is inside of them.
2) More contributions: Having separated projects with a clearer goal improves code contributions, since it is much easier to have knowledge of all the code in a repo.
3) Better documentation: easier to know what to document and what have already been documented.
4) Better testing: easier to know what to test and what have already been tested.
The downside?
1) When a "aggregated" pod is updated, NitroCore has to be updated.
The downside above is not really a problem. Afterall, it is not so different from what happens when a pod depends on another pod. Besides that, it is better to have this kind of trouble than to have a pod no one knows about. =)
iOS 4.3 or higher, ARC only
NitroCore is available through CocoaPods, to install it simply add the following line to your Podfile:
pod "NitroCore"
NitroCore adds the -ObjC
linker flag to targets using it. Without it, categories code would be stripped out, resulting in linker errors. For more info about categories inside static libraries, see: Building Objective-C static libraries with categories
We strongly recommend you to add #import<NitroCore/NitroCore.h>
to your .pch
file! That way, it will look like NitroCore features are really part of the iOS SDK. We could have forced that from the podspec
file, but we think doing so would be really intrusive.
NitroCore is available under the MIT license. See the LICENSE file for more info.