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
catalogRelatedInfo
that 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.