This patch release includes performance improvements and support for macCatalyst apps.
Fix a runtime crash that occurred when the PhotoFoundation framework was included in an app.
There is now a new NSDictionary property in CBCNode called metadata. It is meant to store all the information regarding an example
rather than using separate methods as previously done. With that said, we offer backwards compatibility and still allow the usage of methods to provide example information.
Before:
+ (NSArray *)catalogBreadcrumbs {
return @[ @"Activity Indicator", @"Activity Indicator" ];
}
+ (NSString *)catalogDescription {
return @"Activity Indicator is a visual indication of an app loading content. It can display how "
@"long an operation will take or visualize an unspecified wait time.";
}
+ (BOOL)catalogIsPrimaryDemo {
return YES;
}
+ (BOOL)catalogIsPresentable {
return YES;
}
After:
+ (NSDictionary *)catalogMetadata {
return @{@"breadcrumbs": @[ @"Activity Indicator", @"Activity Indicator" ],
@"description": @"Activity Indicator is a visual indication of an app loading content. It can display how "
@"long an operation will take or visualize an unspecified wait time.",
@"primaryDemo": @YES,
@"presentable": @YES};
}
- added a new metadata property that will hold all the key/values for that node. Also code refactoring (#27) (Yarden Eitan)
new constant: CBCBreadcrumbs
new property: metadata in CBCNode
removed property: nodeDescription in CBCNode
modified method: -exampleDescription in CBCNode
| Type of change: | Swift declaration |
|---|---|
| From: | func exampleDescription() -> String |
| To: | func exampleDescription() -> String? |
modified method: -exampleDescription in CBCNode
| Type of change: | Declaration |
|---|---|
| From: | - (nonnull NSString *)exampleDescription; |
| To: | - (nullable NSString *)exampleDescription; |
new constant: CBCRelatedInfo
new constant: CBCIsDebug
new constant: CBCIsPresentable
new constant: CBCIsPrimaryDemo
new constant: CBCDescription
new constant: CBCStoryboardName
Add exampleRelatedInfo to the CBCNode header for external invocation.
- add exampleRelatedInfo to header file (#26) (Yarden Eitan)
- Now you can add the method
catalogRelatedInfothat returns an NSURL to your example, if you wish to link to related information and resources. - A performance improvement when fetching all viable classes to build the navigation tree.
- Add "related info" URLs to examples (#24) (Adrian Secord)
- [Runtime] Only select UIViewController subclasses (#22) (Robert Moore)
minor bug fix introduced in 2.3.0 that returns wrong boolean values.
This minor release adds two new functionalities that support our new Dragons app.
It's now possible to call CBCCreatePresentableNavigationTree to create a navigation tree that only consists of examples that implement the catalogIsPresentable method and return YES to it.
CBCNode now has a new property called debugLeaf which is also a CBCNode. If an example implements the catalogIsDebug method and returns YES, then that example will become the
debugLeaf. When the debugLeaf is set, then in the Dragons app it will become the initial view controller in the navigation. NOTE: If there are multiple examples that return YES to
catalogIsDebug then the last class that is parsed while going through the hierarchy is the one to be set as the debugLeaf.
- Additional functionality to CbC to support Dragons (#19) (Yarden Eitan)
- Remove arc support. (#18) (featherless)
- Bump the kokoro runner version to v2.1.1. (Jeff Verkoeyen)
- Replace Carthage support with bazel support (#17) (featherless)
This minor release introduces support for Carthage.
It's now possible to define multiple paths to a single example. Simply return an array of arrays
of breadcrumbs from the catalogBreadcrumbs implementation.
- Disable code coverage reporting. (#16) (featherless)
- Add kokoro continuous build script. (#15) (featherless)
- Fix the xcodeproj. (#14) (featherless)
- Add support for Carthage. (Jeff Verkoeyen)
- fixed method signature (randallli)
- Add .swift-version file. (Jeff Verkoeyen)
- Fixed a crashing bug on iOS 10.3.1.
- Add tvOS as a platform.
- Fixed some warnings.
- Merge pull request #6 from randallli/fixWarnings (Randall Li)
- Upgraded to Swift 3.
- Resolved nullability warning in CBCNodeListViewController.
- Resolve nullability warning in CBCNodeListViewController. (Jeff Verkoeyen)
- Update CHANGELOG.md. (Jeff Verkoeyen)
- Automatic changelog preparation for release. (Jeff Verkoeyen)
- Upgrade project to Xcode 8 and Swift 3. (Jeff Verkoeyen)
- Update Podfile.lock. (Jeff Verkoeyen)
- Add explanation for adding new examples. (Jeff Verkoeyen)
- Add notes regarding creating a unit test target and ensuring names match. (Jeff Verkoeyen)
- Replace tabs with spaces. (Jeff Verkoeyen)
- Add missing header import to src/CBCCatalogExample.h.
- Add exampleViewControllerName API to CBCNode.
- Use modern nullability annotations.
- API docs now available at https://material-foundation.github.io/cocoapods-catalog-by-convention/.
- Initial release.
Includes support for examples and unit tests by convention.