{"id":2434,"url":"https://github.com/oozoofrog/CuckooAlert","last_synced_at":"2025-08-02T23:33:38.432Z","repository":{"id":56906884,"uuid":"64985226","full_name":"oozoofrog/CuckooAlert","owner":"oozoofrog","description":"UIAlertController with continuity.","archived":false,"fork":false,"pushed_at":"2016-09-20T22:43:54.000Z","size":39992,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-30T20:35:53.266Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oozoofrog.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":"2016-08-05T03:18:29.000Z","updated_at":"2020-02-02T14:08:09.000Z","dependencies_parsed_at":"2022-08-21T02:21:01.744Z","dependency_job_id":null,"html_url":"https://github.com/oozoofrog/CuckooAlert","commit_stats":null,"previous_names":["singcodes/cuckooalert","rollmind/cuckooalert"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oozoofrog%2FCuckooAlert","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oozoofrog%2FCuckooAlert/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oozoofrog%2FCuckooAlert/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oozoofrog%2FCuckooAlert/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oozoofrog","download_url":"https://codeload.github.com/oozoofrog/CuckooAlert/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228503221,"owners_count":17930543,"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":[],"created_at":"2024-01-05T20:16:13.682Z","updated_at":"2024-12-06T17:31:06.450Z","avatar_url":"https://github.com/oozoofrog.png","language":"Swift","funding_links":[],"categories":["UI"],"sub_categories":["Alert \u0026 Action Sheet"],"readme":"\n# CuckooAlert\n\u003e Allow multiple use of presentViewController to UIAlertController.\n\n[![Swift Version][swift-image]][swift-url]\n[![Build Status][travis-image]][travis-url]\n[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)\n[![CocoaPods Compatible](https://img.shields.io/cocoapods/v/EZSwiftExtensions.svg)](https://img.shields.io/cocoapods/v/LFAlertController.svg)  \n[![Platform](https://img.shields.io/cocoapods/p/LFAlertController.svg?style=flat)](http://cocoapods.org/pods/LFAlertController)\n\nYou may be disappointed from this. Do you imagine that cuckoo spit out some alerts with beatiful animation?\n\nSorry.\n\n*Umm, May be later*. But, not now.\n\nThis is some codes with swizzle for make UIAlertController multiple using of presentViewController. \n\n\n## Requirements\n\n- iOS 8.4+\n- Xcode 7.3\n\n## Installation\n\n#### CocoaPods\nYou can use [CocoaPods](http://cocoapods.org/) to install `CuckooAlert` by adding it to your `Podfile`:\n\n```ruby\nplatform :ios, '8.4'\nuse_frameworks!\npod 'CuckooAlert'\n```\n\nTo get the full benefits import `CuckooAlert` wherever you import UIKit\n\n``` swift\nimport UIKit\nimport CuckooAlert\n```\n#### Carthage\nCreate a `Cartfile` that lists the framework and run `carthage update`. Follow the [instructions](https://github.com/Carthage/Carthage#if-youre-building-for-ios) to add `$(SRCROOT)/Carthage/Build/iOS/CuckooAlert.framework` to an iOS project.\n\n```\ngithub \"singcodes/CuckooAlert\"\n```\n#### Manually\n1. Download and drop ```CuckooAlert.swift``` in your project.  \n2. Congratulations!  \n\n## Usage example\n\n**Swift**\n\n```swift\nimport CuckooAlert\n\nin AppDeleaget launching\n\nfunc application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -\u003e Bool {\n        CuckooAlert.registCuckooAlert()\n        return true\n}\n\nin ViewController\n\n        var alert = UIAlertController(title: \"title\", message: \"message\", preferredStyle: .Alert)\n        let cancel = UIAlertAction(title: \"Cancel\", style: .Cancel, handler: nil)\n        alert.addAction(cancel)\n        // present first alert controller\n        self.presentViewController(alert, animated: true, completion: nil)\n        \n        alert = UIAlertController(title: \"title2\", message: \"message2\", preferredStyle: .Alert)\n        alert.addAction(cancel)\n        // present second alert controller\n        self.presentViewController(alert, animated: true, completion: nil)\n        \n        if let vc = self.storyboard?.instantiateViewControllerWithIdentifier(\"2\") {\n            // This will be ignored with some Warning:\n            self.presentViewController(vc, animated: true, completion: nil)\n        }\n        \n        alert = UIAlertController(title: \"title3\", message: \"message3\", preferredStyle: .Alert)\n        alert.addAction(cancel)\n        // present third alert controller\n        self.presentViewController(alert, animated: true, completion: nil)\n\n```\n\n**ObjC**\n\n```objc\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {\n    [CuckooAlert registCuckooAlert];\n    return YES;\n}\n\nin ViewController\n\n    UIAlertAction *cancel = [UIAlertAction actionWithTitle:@\"Cancel\" style:UIAlertActionStyleCancel handler:nil];\n    UIAlertController *alert = [UIAlertController alertControllerWithTitle:@\"title\" message:@\"message\" preferredStyle:UIAlertControllerStyleAlert];\n    [alert addAction:cancel];\n    // present first alert controller\n    [alert showWithParentViewController:self animated:true completion:nil];\n    alert = [UIAlertController alertControllerWithTitle:@\"title2\" message:@\"message2\" preferredStyle:UIAlertControllerStyleAlert];\n    [alert addAction:cancel];\n    // present second alert controller\n    [alert showWithParentViewController:self animated:true completion:nil];\n    \n    // This will be ignored with some Warning:\n    [self presentViewController:[self.storyboard instantiateViewControllerWithIdentifier:@\"2\"] animated:YES completion:nil];\n    \n    alert = [UIAlertController alertControllerWithTitle:@\"title3\" message:@\"message3\" preferredStyle:UIAlertControllerStyleAlert];\n    [alert addAction:cancel];\n    [alert showWithParentViewController:self animated:true completion:nil];\n```\n\n\nseeing *Example*, *ExampleObjc* targets on CuckooAlert projects\n\n## Release History\n* 1.1.0\n    * apply swift 3\n    * minimum iOS version to 9.0 from 8.4\n\n* 1.0.1\n\t * add prompt function to UIViewController\n\t * removing some debugging print\n\n* 1.0.0\n    * add CuckooAlert.swift\n    * add CuckooAlert class for enabling swizzles\n    * swizzling function of viewDidLoad, viewDidDisappear, presentViewController on UIViewController for management of UIAlertController present queue\n    * add some handy function to UIAlertController\n\n## Contribute\n\nI would love for you to contribute or modifying or copy and anything to **CuckooAlert**, check the ``LICENSE`` file for more info.\n\n## Meta\n\nsingcodes – [@KwanghoonChoi](https://twitter.com/KwanghoonChoi) – eyerama@gmail.com\n\nDistributed under the BSD(3-clause) license. See ``LICENSE`` for more information.\n\n[https://github.com/singcodes](https://github.com/singcodes/)\n\n[swift-image]:https://img.shields.io/badge/swift-2.2-orange.svg\n[swift-url]: https://swift.org/\n[travis-image]: https://img.shields.io/travis/dbader/node-datadog-metrics/master.svg?style=flat-square\n[travis-url]: https://travis-ci.org/dbader/node-datadog-metrics\n[codebeat-image]: https://codebeat.co/badges/c19b47ea-2f9d-45df-8458-b2d952fe9dad\n[codebeat-url]: https://codebeat.co/projects/github-com-vsouza-awesomeios-com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foozoofrog%2FCuckooAlert","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foozoofrog%2FCuckooAlert","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foozoofrog%2FCuckooAlert/lists"}