{"id":13638800,"url":"https://github.com/LeoNatan/LNNotificationsUI","last_synced_at":"2025-04-19T21:35:02.882Z","repository":{"id":20442586,"uuid":"23719473","full_name":"LeoNatan/LNNotificationsUI","owner":"LeoNatan","description":"A framework for displaying notifications similar to Apple's iOS 8 and iOS 9 notifications.","archived":true,"fork":false,"pushed_at":"2017-10-02T05:44:55.000Z","size":21168,"stargazers_count":789,"open_issues_count":0,"forks_count":115,"subscribers_count":30,"default_branch":"master","last_synced_at":"2024-08-03T01:13:31.812Z","etag":null,"topics":["cocoa-touch","ios","lnnotificationsui","notifications","objective-c","swift"],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"santi-pdp/segan","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LeoNatan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-05T21:51:16.000Z","updated_at":"2024-01-20T16:40:47.000Z","dependencies_parsed_at":"2022-07-31T20:07:59.951Z","dependency_job_id":null,"html_url":"https://github.com/LeoNatan/LNNotificationsUI","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeoNatan%2FLNNotificationsUI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeoNatan%2FLNNotificationsUI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeoNatan%2FLNNotificationsUI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeoNatan%2FLNNotificationsUI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LeoNatan","download_url":"https://codeload.github.com/LeoNatan/LNNotificationsUI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223810207,"owners_count":17206714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cocoa-touch","ios","lnnotificationsui","notifications","objective-c","swift"],"created_at":"2024-08-02T01:00:53.843Z","updated_at":"2024-11-09T09:30:19.887Z","avatar_url":"https://github.com/LeoNatan.png","language":"Objective-C","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=BR68NJEJXGWL6"],"categories":["UI","Objective-C","Notification"],"sub_categories":[],"readme":"# **Deprecation Notice**\n\nThis framework is **no longer under active devlopment**. With iOS 10, you can now **display native system notifications inside your app**. I suggest migrating to Apple's new API going forward. This framework remains useful for iOS 8 \u0026 9 support. New features will likely not be implemented, but bugs may be fixed.\n\n----\n\n# LNNotificationsUI\n\n`LNNotificationsUI` is a framework for displaying notifications similar to Apple's iOS 8 and iOS 9 notifications. It is meant to complement the native look and feel, by providing a pixel-accurate (as much as possible) recreation of the notifications.\n\n\u003cimg src=\"./Screenshots/Presentation.png\" width=\"320px\"/\u003e \n\u003cimg src=\"./Screenshots/LNNotificationsUI.gif\" height=\"568px\"/\u003e\n\nSee a video [here](https://vimeo.com/105395794).\n\n\u003cspan class=\"badge-paypal\"\u003e\u003ca href=\"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=BR68NJEJXGWL6\" title=\"Donate to this project using PayPal\"\u003e\u003cimg src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal Donation Button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\n## Features\n\n* Native look \u0026 feel\n* Support for notifications of multiple sub-applications\n* Customizable notifications\n* Different banner styles:\n\n\u003cimg src=\"./Screenshots/3.png\" width=\"213px\"/\u003e\u0026nbsp;\n\u003cimg src=\"./Screenshots/style.png\" width=\"250px\"/\u003e\n\n* Settings for registered sub-applications:\n\n\u003cimg src=\"./Screenshots/settings1.png\" width=\"250px\"/\u003e\u0026nbsp;\n\u003cimg src=\"./Screenshots/settings2.png\" width=\"250px\"/\u003e\n\n* Sounds support\n* Xcode 6 framework\n\n## Adding to Your Project\n\n### Carthage\n\nAdd the following to your Cartfile:\n\n```github \"LeoNatan/LNNotificationsUI\"```\n\n### Manual\n\nDrag the `LNNotificationsUI.xcodeproj` project to your project, and add `LNNotificationsUI.framework` to **Embedded Binaries** in your project target's **General** tab. Xcode should sort everything else on its own.\n\n### CocoaPods\n\nCocoaPods is not supported. There are many reasons for this. Instead of CocoaPods, use Carthage. You can continue using CocoaPods for for your other dependencies and Carthage for `LNNotificationsUI`.\n\n## Using the Framework\n\n### Project Integration\n\nFirst import the umbrella header file:\n\n```objective-c\n@import LNNotificationsUI;\n```\n\n### Registering Sub-applications\n\nBefore being able to post notifications, you need to register at least one sub-application with the system. Sub-applications provide a way to group notifications, each with its own identifier, name and icon and other settings. For example, a productivity app with an e-mail client and a calendar may register two sub-applications, \"Mail\" and \"Calendar\", with different icons and other more advanced settings, such calendar notifications appearing as alerts by default.\n\n```objective-c\n[[LNNotificationCenter defaultCenter] registerApplicationWithIdentifier:@\"mail_app_identifier\" name:@\"Mail\" icon:[UIImage imageNamed:@\"MailApp\"] defaultSettings:[LNNotificationAppSettings defaultNotificationAppSettings]];\n[[LNNotificationCenter defaultCenter] registerApplicationWithIdentifier:@\"cal_app_identifier\" name:@\"Calendar\" icon:[UIImage imageNamed:@\"CalApp\"]  defaultSettings:[LNNotificationAppSettings defaultNotificationAppSettings]];\n```\n\n**Note:** For all available options for the default settings, take a look at the `LNNotificationAppSettings` class definition. `+ [LNNotificationAppSettings defaultNotificationAppSettings]` is provided as a convenience for obtaining the default settings.\n\n### Displaying Notifications\n\nCreate a notification object, set the desired parameters and post it.\n\n```objective-c\nLNNotification* notification = [LNNotification notificationWithMessage:@\"You've Got Mail!\"];\n[[LNNotificationCenter defaultCenter] presentNotification:notification forApplicationIdentifier:@\"mail_app_identifier\"];\n```\n\n**Note:** For all available notification properties, take a look at the `LNNotification` class definition.\n\n### Notification Actions\n\nIn addition to displaying notifications, you can associate actions with each notification. Each notification has a default action, as well as other actions that can be attached to the notification. When the user taps a notification or the appropriate button, the provided handler block is called.\n\n```objective-c\nLNNotification* notification = [LNNotification notificationWithMessage:@\"Welcome to LNNotificationsUI!\"];\nnotification.title = @\"Hello World!\";\nnotification.soundName = @\"demo.aiff\";\nnotification.defaultAction = [LNNotificationAction actionWithTitle:@\"Default Action\" handler:^(LNNotificationAction *action) {\n\t//Handle default action\n}];\nnotification.otherActions = @[[LNNotificationAction actionWithTitle:@\"Other Action 1\" handler:^(LNNotificationAction *action) {\n\t//Handle other action here\n}], [LNNotificationAction actionWithTitle:@\"Other Action 2\" handler:^(LNNotificationAction *action) {\n\t//Handle other action here\n}]];\n```\n**Note:** Currently, other actions are only available when notifications are presented as alerts. Tapping on banner notifications will call the default action handler.\n\n### Settings\n\nTo display the notification settings view controller, create an instance of `LNNotificationSettingsController`, either in code or storyboard and present it. This view controller will display all registered sub-applications, and will allow the user to select how notifications are presented to him. If only one sub-application is registered, its settings will appear in this view controller. If there two or more sub-applications registered, a list containing each sub-application will appear and and the user will be able to select modify settings seperately for each sub-application.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLeoNatan%2FLNNotificationsUI","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLeoNatan%2FLNNotificationsUI","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLeoNatan%2FLNNotificationsUI/lists"}