在众多奇特功能中,iOS 7 允许用户为其应用自动更新,去除臭名昭著的应用商店徽章。这对于用户和开发者来说都非常方便,但这也带来了一些负面影响
TWSReleaseNotesView 是解决这些问题的简单方法。它提供了一个简单的 API,允许开发者通过可定制的弹出视图显示内置的发布说明。
UIKit
、CoreGraphics
和 Foundation
,还需依赖 Accelerate
和 Quartzcore
框架。如果您在“框架”列表中缺少任何这些框架,请按照以下步骤添加它们+
按钮。 // Check for first app launch and app update
if (![TWSReleaseNotesView isAppOnFirstLaunch] && [TWSReleaseNotesView isAppVersionUpdated])
{
// Create the release notes view
NSString *currentAppVersion = [[NSBundle mainBundle] infoDictionary][@"CFBundleVersion"];
TWSReleaseNotesView *releaseNotesView = [TWSReleaseNotesView viewWithReleaseNotesTitle:[NSString stringWithFormat:@"What's new in version %@:", currentAppVersion] text:@"• Great new feature\n• Annoying bug wiped away\n• Optimizations and other great stuff!\n• Additional performance and stability improvements" closeButtonTitle:@"Close"];
// Show the release notes view
[releaseNotesView showInView:self.view];
}
// Check for app update
if ([TWSReleaseNotesView isAppVersionUpdated])
{
// Setup a remote release notes view
NSString *currentAppVersion = [[NSBundle mainBundle] infoDictionary][@"CFBundleVersion"];
[TWSReleaseNotesView setupViewWithAppIdentifier:@"XXXXXXXXX" releaseNotesTitle:[NSString stringWithFormat:@"What's new in version %@:", currentAppVersion] closeButtonTitle:@"Close" completionBlock:^(TWSReleaseNotesView *releaseNotesView, NSString *releaseNotesText, NSError *error){
if (error)
{
// Handle errors
NSLog(@"An error occurred: %@", [error localizedDescription]);
}
else
{
// Create and show release notes view
[releaseNotesView showInView:self.view];
}
}];
}
TWSReleaseNotesViewSample 示例项目展示了如何处理上述两种用例。
代码使用了类似 Javadoc 语法进行全面注释,以便使用 appledoc 生成文档。请检查 TWReleaseNotesView 文档 文件夹以获得完整的文档,包括 html 和 .docset 格式。可以将 .docset 文件复制到 ~/Library/Developer/Shared/Documentation/DocSets
文件夹,以便能够在 Xcode 中阅读文档。如果您决定这样做,请在将 .docset 文件复制到正确的文件夹之前,请记住关闭 Xcode,然后重新打开它。
TWSReleaseNotesView 由 Tapwings 开发:Matteo Lallone(iOS 开发者 - @iGriever)和Gianluca Divisi(UI/UX 设计师 - @gianlucadivisi)。关注我们的 Twitter(@tapwings),以获取我们工作的最新消息。
MIT 许可协议(MIT)
版权所有 (c) 2013 Matteo Lallone
在此特此免费许可任何获取本软件及其相关文档文件(以下简称“软件”)副本的个人,不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许软件获得者处理软件,前提是受以下条件约束
上述版权声明和本许可声明应包含在软件的所有副本或实质部分中。
本软件按“原样”提供,没有任何形式的明示或暗示保证,包括但不限于适销性、适用于特定目的和不侵犯知识产权的保证。在任何情况下,作者或版权所有者不对任何索赔、损失或其他责任承担责任,无论是在合同行为、侵权行为或其他行为中产生的,以及与软件或软件的使用或其他处理有关的。