├── RiskyClick ├── Images.xcassets │ ├── AppIcon.appiconset │ │ ├── Icon-40.png │ │ ├── Icon-76.png │ │ ├── Icon-40@2x.png │ │ ├── Icon-40@3x.png │ │ ├── Icon-60@2x.png │ │ ├── Icon-60@3x.png │ │ ├── Icon-76@2x.png │ │ ├── Icon-Small.png │ │ ├── Icon-40@2x-1.png │ │ ├── Icon-Small@2x.png │ │ ├── Icon-Small@3x.png │ │ ├── Icon-Small@2x-1.png │ │ └── Contents.json │ └── LaunchImage.launchimage │ │ ├── Default@2x.png │ │ ├── Default-568h@2x.png │ │ ├── Default-Landscape.png │ │ ├── Default-Portrait-1.png │ │ ├── Default-Landscape@2x.png │ │ ├── Default-Portrait@2x-1.png │ │ └── Contents.json ├── Info.plist ├── Base.lproj │ ├── Main.storyboard │ └── LaunchScreen.xib ├── AppDelegate.swift └── ViewController.swift ├── RiskyClick.xcodeproj ├── xcuserdata │ └── zac.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ ├── xcschememanagement.plist │ │ └── RiskyClick.xcscheme ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcuserdata │ │ └── zac.xcuserdatad │ │ └── UserInterfaceState.xcuserstate └── project.pbxproj ├── README.md └── RiskyClickTests ├── Info.plist └── RiskyClickTests.swift /RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-40.png -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-76.png -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-40@2x.png -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-40@3x.png -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-Small.png -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-40@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-40@2x-1.png -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/LaunchImage.launchimage/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick/Images.xcassets/LaunchImage.launchimage/Default@2x.png -------------------------------------------------------------------------------- /RiskyClick.xcodeproj/xcuserdata/zac.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/LaunchImage.launchimage/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick/Images.xcassets/LaunchImage.launchimage/Default-568h@2x.png -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/LaunchImage.launchimage/Default-Landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick/Images.xcassets/LaunchImage.launchimage/Default-Landscape.png -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/LaunchImage.launchimage/Default-Portrait-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick/Images.xcassets/LaunchImage.launchimage/Default-Portrait-1.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Risky Click! 2 | ========== 3 | 4 | The web is a huge place - explore it with the help of random people! 5 | 6 | Give a link, get a link! 7 | 8 | Click to go to a random, user-submitted web page. 9 | -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick/Images.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/LaunchImage.launchimage/Default-Portrait@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick/Images.xcassets/LaunchImage.launchimage/Default-Portrait@2x-1.png -------------------------------------------------------------------------------- /RiskyClick.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /RiskyClick.xcodeproj/project.xcworkspace/xcuserdata/zac.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/twodayslate/riskyclick/master/RiskyClick.xcodeproj/project.xcworkspace/xcuserdata/zac.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /RiskyClick.xcodeproj/xcuserdata/zac.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RiskyClick.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 11AEF07319E4BD0B0056A468 16 | 17 | primary 18 | 19 | 20 | 11AEF08819E4BD0B0056A468 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /RiskyClickTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | com.twodayslate.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /RiskyClickTests/RiskyClickTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RiskyClickTests.swift 3 | // RiskyClickTests 4 | // 5 | // Created by twodayslate on 10/7/14. 6 | // Copyright (c) 2014 twodayslate. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import XCTest 11 | 12 | class RiskyClickTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | XCTAssert(true, "Pass") 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock() { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "orientation" : "portrait", 5 | "idiom" : "iphone", 6 | "extent" : "full-screen", 7 | "minimum-system-version" : "7.0", 8 | "filename" : "Default@2x.png", 9 | "scale" : "2x" 10 | }, 11 | { 12 | "extent" : "full-screen", 13 | "idiom" : "iphone", 14 | "subtype" : "retina4", 15 | "filename" : "Default-568h@2x.png", 16 | "minimum-system-version" : "7.0", 17 | "orientation" : "portrait", 18 | "scale" : "2x" 19 | }, 20 | { 21 | "orientation" : "portrait", 22 | "idiom" : "ipad", 23 | "extent" : "full-screen", 24 | "minimum-system-version" : "7.0", 25 | "filename" : "Default-Portrait-1.png", 26 | "scale" : "1x" 27 | }, 28 | { 29 | "orientation" : "landscape", 30 | "idiom" : "ipad", 31 | "extent" : "full-screen", 32 | "minimum-system-version" : "7.0", 33 | "filename" : "Default-Landscape.png", 34 | "scale" : "1x" 35 | }, 36 | { 37 | "orientation" : "portrait", 38 | "idiom" : "ipad", 39 | "extent" : "full-screen", 40 | "minimum-system-version" : "7.0", 41 | "filename" : "Default-Portrait@2x-1.png", 42 | "scale" : "2x" 43 | }, 44 | { 45 | "orientation" : "landscape", 46 | "idiom" : "ipad", 47 | "extent" : "full-screen", 48 | "minimum-system-version" : "7.0", 49 | "filename" : "Default-Landscape@2x.png", 50 | "scale" : "2x" 51 | } 52 | ], 53 | "info" : { 54 | "version" : 1, 55 | "author" : "xcode" 56 | } 57 | } -------------------------------------------------------------------------------- /RiskyClick/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | com.twodayslate.riskyclick 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | Risky Click! 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UIRequiredDeviceCapabilities 26 | 27 | armv7 28 | 29 | UIStatusBarHidden 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | UIInterfaceOrientationPortraitUpsideDown 37 | 38 | UISupportedInterfaceOrientations~ipad 39 | 40 | UIInterfaceOrientationPortrait 41 | UIInterfaceOrientationPortraitUpsideDown 42 | UIInterfaceOrientationLandscapeLeft 43 | UIInterfaceOrientationLandscapeRight 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /RiskyClick/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /RiskyClick/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "29x29", 5 | "idiom" : "iphone", 6 | "filename" : "Icon-Small@2x.png", 7 | "scale" : "2x" 8 | }, 9 | { 10 | "size" : "29x29", 11 | "idiom" : "iphone", 12 | "filename" : "Icon-Small@3x.png", 13 | "scale" : "3x" 14 | }, 15 | { 16 | "size" : "40x40", 17 | "idiom" : "iphone", 18 | "filename" : "Icon-40@2x.png", 19 | "scale" : "2x" 20 | }, 21 | { 22 | "size" : "40x40", 23 | "idiom" : "iphone", 24 | "filename" : "Icon-40@3x.png", 25 | "scale" : "3x" 26 | }, 27 | { 28 | "size" : "60x60", 29 | "idiom" : "iphone", 30 | "filename" : "Icon-60@2x.png", 31 | "scale" : "2x" 32 | }, 33 | { 34 | "size" : "60x60", 35 | "idiom" : "iphone", 36 | "filename" : "Icon-60@3x.png", 37 | "scale" : "3x" 38 | }, 39 | { 40 | "size" : "29x29", 41 | "idiom" : "ipad", 42 | "filename" : "Icon-Small.png", 43 | "scale" : "1x" 44 | }, 45 | { 46 | "size" : "29x29", 47 | "idiom" : "ipad", 48 | "filename" : "Icon-Small@2x-1.png", 49 | "scale" : "2x" 50 | }, 51 | { 52 | "size" : "40x40", 53 | "idiom" : "ipad", 54 | "filename" : "Icon-40.png", 55 | "scale" : "1x" 56 | }, 57 | { 58 | "size" : "40x40", 59 | "idiom" : "ipad", 60 | "filename" : "Icon-40@2x-1.png", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "size" : "76x76", 65 | "idiom" : "ipad", 66 | "filename" : "Icon-76.png", 67 | "scale" : "1x" 68 | }, 69 | { 70 | "size" : "76x76", 71 | "idiom" : "ipad", 72 | "filename" : "Icon-76@2x.png", 73 | "scale" : "2x" 74 | } 75 | ], 76 | "info" : { 77 | "version" : 1, 78 | "author" : "xcode" 79 | } 80 | } -------------------------------------------------------------------------------- /RiskyClick/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // RiskyClick 4 | // 5 | // Created by twodayslate on 10/7/14. 6 | // Copyright (c) 2014 twodayslate. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate { 13 | 14 | var window: UIWindow? 15 | var controller: ViewController? 16 | 17 | func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 18 | // Override point for customization after application launch. 19 | 20 | println("did launch") 21 | 22 | self.window = UIWindow(frame: UIScreen.mainScreen().bounds) 23 | self.window?.backgroundColor = UIColor.whiteColor() 24 | 25 | self.controller = ViewController() 26 | 27 | self.window!.rootViewController = self.controller! 28 | 29 | self.window!.makeKeyAndVisible() 30 | 31 | return true 32 | } 33 | 34 | func applicationWillResignActive(application: UIApplication) { 35 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 36 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 37 | } 38 | 39 | func applicationDidEnterBackground(application: UIApplication) { 40 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 41 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 42 | } 43 | 44 | func applicationWillEnterForeground(application: UIApplication) { 45 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. 46 | } 47 | 48 | func applicationDidBecomeActive(application: UIApplication) { 49 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 50 | } 51 | 52 | func applicationWillTerminate(application: UIApplication) { 53 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 54 | } 55 | 56 | 57 | } 58 | 59 | -------------------------------------------------------------------------------- /RiskyClick/Base.lproj/LaunchScreen.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 20 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /RiskyClick.xcodeproj/xcuserdata/zac.xcuserdatad/xcschemes/RiskyClick.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 29 | 35 | 36 | 37 | 38 | 39 | 44 | 45 | 47 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 65 | 66 | 75 | 76 | 82 | 83 | 84 | 85 | 86 | 87 | 93 | 94 | 100 | 101 | 102 | 103 | 105 | 106 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /RiskyClick/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RiskyClick 4 | // 5 | // Created by twodayslate on 10/7/14. 6 | // Copyright (c) 2014 twodayslate. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import WebKit 11 | 12 | class ViewController: UIViewController { 13 | 14 | override func viewDidLoad() { 15 | // Do any additional setup after loading the view, typically from a nib. 16 | 17 | println("starting") 18 | 19 | super.viewDidLoad() 20 | 21 | self.view = OverView(viewController: self) 22 | 23 | println("done") 24 | 25 | } 26 | 27 | override func didReceiveMemoryWarning() { 28 | super.didReceiveMemoryWarning() 29 | // Dispose of any resources that can be recreated. 30 | } 31 | 32 | override func prefersStatusBarHidden() -> Bool { 33 | return true 34 | } 35 | 36 | 37 | } 38 | 39 | class OverView : UIView { 40 | var webView: WKWebView? 41 | var submitButton : UIButton? 42 | var getButtonBig : UIButton? 43 | var getNewButton : UIButton? 44 | var viewController : ViewController? 45 | 46 | init(viewController myViewController:ViewController) { 47 | super.init(frame: UIScreen.mainScreen().bounds) 48 | //let viewController = myViewController 49 | self.viewController = myViewController 50 | 51 | 52 | self.autoresizesSubviews = true 53 | self.autoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleRightMargin | UIViewAutoresizing.FlexibleLeftMargin | UIViewAutoresizing.FlexibleBottomMargin | UIViewAutoresizing.FlexibleTopMargin 54 | 55 | 56 | 57 | self.webView = WKWebView(frame: self.frame) 58 | self.webView?.autoresizingMask = UIViewAutoresizing.FlexibleRightMargin | UIViewAutoresizing.FlexibleLeftMargin | UIViewAutoresizing.FlexibleBottomMargin | UIViewAutoresizing.FlexibleTopMargin 59 | self.addSubview(webView!) 60 | //self.loadURL("localhost"); 61 | 62 | 63 | let submitButton = UIButton.buttonWithType(UIButtonType.ContactAdd) as UIButton 64 | submitButton.frame = CGRectMake(self.bounds.width - 50, self.bounds.height-50, 50, 50) 65 | submitButton.addTarget(self, action: "submitbuttonAction:", forControlEvents: UIControlEvents.TouchUpInside) 66 | submitButton.backgroundColor = UIColor.blackColor() 67 | submitButton.tintColor = UIColor.whiteColor() 68 | submitButton.autoresizingMask = UIViewAutoresizing.FlexibleLeftMargin | UIViewAutoresizing.FlexibleTopMargin 69 | self.addSubview(submitButton) 70 | 71 | let getButtonBig = UIButton.buttonWithType(UIButtonType.System) as UIButton 72 | getButtonBig.frame = CGRectMake(self.bounds.width/2 - 150, self.bounds.height/2 - 100, 300, 100) 73 | getButtonBig.setTitle("Get Risky!", forState: UIControlState.Normal) 74 | getButtonBig.backgroundColor = UIColor.blackColor() 75 | getButtonBig.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal) 76 | getButtonBig.addTarget(self, action: "getBigAction:", forControlEvents: UIControlEvents.TouchUpInside) 77 | getButtonBig.titleLabel?.font = UIFont.systemFontOfSize(32.0) 78 | getButtonBig.autoresizingMask = UIViewAutoresizing.FlexibleRightMargin | UIViewAutoresizing.FlexibleLeftMargin | UIViewAutoresizing.FlexibleBottomMargin | UIViewAutoresizing.FlexibleTopMargin 79 | 80 | self.addSubview(getButtonBig) 81 | 82 | 83 | 84 | 85 | println("request loaded") 86 | } 87 | 88 | required init(coder aDecoder: NSCoder) { 89 | super.init() 90 | } 91 | 92 | func getURL() -> String { 93 | 94 | var urlString = "http://zac.gorak.us/riskyclick/get.php" // Your Normal URL String 95 | var url = NSURL.URLWithString(urlString)// Creating URL 96 | var request = NSURLRequest(URL: url)// Creating Http Request 97 | var err: NSError? 98 | var response: AutoreleasingUnsafeMutablePointer = nil 99 | var dataVal: NSData? = NSURLConnection.sendSynchronousRequest(request, returningResponse: response, error: &err)? 100 | var ans = "" 101 | 102 | if err != nil { 103 | println(err) 104 | } else { 105 | var jsonResult : Dictionary = NSJSONSerialization.JSONObjectWithData(dataVal!, options: NSJSONReadingOptions.MutableContainers, error: &err) as Dictionary 106 | 107 | if let error = err { 108 | println("error occurred: \(error.localizedDescription)") 109 | } 110 | 111 | var result: String? = jsonResult["url"] as AnyObject? as? String 112 | ans = result! 113 | 114 | } 115 | 116 | if ans == "" { 117 | ans = "http://twitter.com/twodayslate" 118 | } 119 | 120 | 121 | println(ans) 122 | 123 | 124 | return ans 125 | } 126 | 127 | class func sendURL(url: String) -> String { 128 | 129 | var urlString = "http://zac.gorak.us/riskyclick/submit.php?url=" + url // Your Normal URL String 130 | println("url = " + urlString) 131 | var url = NSURL.URLWithString(urlString)// Creating URL 132 | var request = NSURLRequest(URL: url)// Creating Http Request 133 | var err: NSError? 134 | var response: AutoreleasingUnsafeMutablePointer = nil 135 | var dataVal: NSData? = NSURLConnection.sendSynchronousRequest(request, returningResponse: response, error: &err)? 136 | var ans = "" 137 | 138 | if err != nil { 139 | println(err) 140 | } else { 141 | var jsonResult : Dictionary = NSJSONSerialization.JSONObjectWithData(dataVal!, options: NSJSONReadingOptions.MutableContainers, error: &err) as Dictionary 142 | 143 | if let error = err { 144 | println("error occurred: \(error.localizedDescription)") 145 | } 146 | 147 | println("result = " + jsonResult.description) 148 | 149 | var result: String? = jsonResult["valid"] as AnyObject? as? String 150 | ans = result! 151 | 152 | } 153 | 154 | if ans == "" { 155 | ans = "0" 156 | } 157 | 158 | 159 | println(ans) 160 | 161 | 162 | return ans 163 | } 164 | 165 | 166 | func submitbuttonAction(sender:UIButton!) { 167 | println("pressed"); 168 | 169 | var alert = UIAlertController(title: "Add a link!", message: "It'll be someone else's risky click!", preferredStyle: UIAlertControllerStyle.Alert) 170 | alert.addTextFieldWithConfigurationHandler({(textField: UITextField!) in 171 | textField.placeholder = "http://" 172 | }) 173 | 174 | alert.addAction(UIAlertAction(title: "Send", style: UIAlertActionStyle.Default, handler:{ alertAction in 175 | let textField : UITextField = alert.textFields![0] as UITextField 176 | println("sending " + textField.text) 177 | OverView.sendURL(textField.text) 178 | //alert.dismissViewControllerAnimated(true, completion: nil) 179 | })) 180 | 181 | //println(viewController) 182 | 183 | viewController?.presentViewController(alert, animated: true, completion: nil) 184 | //.presentViewController(alert, animated: true, completion: nil) 185 | } 186 | 187 | func getBigAction(sender:UIButton!) { 188 | println("pressed BIG button"); 189 | 190 | //println(self.getURL()) 191 | 192 | let urld = NSURL(string: self.getURL()) 193 | let req = NSURLRequest(URL: urld) 194 | 195 | self.webView?.loadRequest(req) 196 | 197 | sender.removeFromSuperview() 198 | 199 | let getNewButton = UIButton.buttonWithType(UIButtonType.System) as UIButton 200 | getNewButton.frame = CGRectMake(0, self.bounds.height - 50, 50, 50) 201 | getNewButton.setTitle("new", forState: UIControlState.Normal) 202 | getNewButton.backgroundColor = UIColor.blackColor() 203 | getNewButton.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal) 204 | getNewButton.addTarget(self, action: "getAction:", forControlEvents: UIControlEvents.TouchUpInside) 205 | getNewButton.autoresizingMask = UIViewAutoresizing.FlexibleRightMargin | UIViewAutoresizing.FlexibleTopMargin | UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight 206 | self.addSubview(getNewButton) 207 | } 208 | 209 | func getAction(sender:UIButton!) { 210 | println("pressed small button"); 211 | 212 | //println(self.getURL()) 213 | 214 | let urld = NSURL(string: self.getURL()) 215 | let req = NSURLRequest(URL: urld) 216 | 217 | self.webView?.loadRequest(req) 218 | } 219 | 220 | 221 | 222 | 223 | 224 | } 225 | 226 | -------------------------------------------------------------------------------- /RiskyClick.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 11AEF07A19E4BD0B0056A468 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11AEF07919E4BD0B0056A468 /* AppDelegate.swift */; }; 11 | 11AEF07C19E4BD0B0056A468 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11AEF07B19E4BD0B0056A468 /* ViewController.swift */; }; 12 | 11AEF08119E4BD0B0056A468 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 11AEF08019E4BD0B0056A468 /* Images.xcassets */; }; 13 | 11AEF09019E4BD0B0056A468 /* RiskyClickTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11AEF08F19E4BD0B0056A468 /* RiskyClickTests.swift */; }; 14 | /* End PBXBuildFile section */ 15 | 16 | /* Begin PBXContainerItemProxy section */ 17 | 11AEF08A19E4BD0B0056A468 /* PBXContainerItemProxy */ = { 18 | isa = PBXContainerItemProxy; 19 | containerPortal = 11AEF06C19E4BD0B0056A468 /* Project object */; 20 | proxyType = 1; 21 | remoteGlobalIDString = 11AEF07319E4BD0B0056A468; 22 | remoteInfo = RiskyClick; 23 | }; 24 | /* End PBXContainerItemProxy section */ 25 | 26 | /* Begin PBXFileReference section */ 27 | 11AEF07419E4BD0B0056A468 /* RiskyClick.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RiskyClick.app; sourceTree = BUILT_PRODUCTS_DIR; }; 28 | 11AEF07819E4BD0B0056A468 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 29 | 11AEF07919E4BD0B0056A468 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 30 | 11AEF07B19E4BD0B0056A468 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; 31 | 11AEF08019E4BD0B0056A468 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 32 | 11AEF08919E4BD0B0056A468 /* RiskyClickTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RiskyClickTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 33 | 11AEF08E19E4BD0B0056A468 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 34 | 11AEF08F19E4BD0B0056A468 /* RiskyClickTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RiskyClickTests.swift; sourceTree = ""; }; 35 | /* End PBXFileReference section */ 36 | 37 | /* Begin PBXFrameworksBuildPhase section */ 38 | 11AEF07119E4BD0B0056A468 /* Frameworks */ = { 39 | isa = PBXFrameworksBuildPhase; 40 | buildActionMask = 2147483647; 41 | files = ( 42 | ); 43 | runOnlyForDeploymentPostprocessing = 0; 44 | }; 45 | 11AEF08619E4BD0B0056A468 /* Frameworks */ = { 46 | isa = PBXFrameworksBuildPhase; 47 | buildActionMask = 2147483647; 48 | files = ( 49 | ); 50 | runOnlyForDeploymentPostprocessing = 0; 51 | }; 52 | /* End PBXFrameworksBuildPhase section */ 53 | 54 | /* Begin PBXGroup section */ 55 | 11AEF06B19E4BD0B0056A468 = { 56 | isa = PBXGroup; 57 | children = ( 58 | 11AEF07619E4BD0B0056A468 /* RiskyClick */, 59 | 11AEF08C19E4BD0B0056A468 /* RiskyClickTests */, 60 | 11AEF07519E4BD0B0056A468 /* Products */, 61 | ); 62 | sourceTree = ""; 63 | }; 64 | 11AEF07519E4BD0B0056A468 /* Products */ = { 65 | isa = PBXGroup; 66 | children = ( 67 | 11AEF07419E4BD0B0056A468 /* RiskyClick.app */, 68 | 11AEF08919E4BD0B0056A468 /* RiskyClickTests.xctest */, 69 | ); 70 | name = Products; 71 | sourceTree = ""; 72 | }; 73 | 11AEF07619E4BD0B0056A468 /* RiskyClick */ = { 74 | isa = PBXGroup; 75 | children = ( 76 | 11AEF07919E4BD0B0056A468 /* AppDelegate.swift */, 77 | 11AEF07B19E4BD0B0056A468 /* ViewController.swift */, 78 | 11AEF08019E4BD0B0056A468 /* Images.xcassets */, 79 | 11AEF07719E4BD0B0056A468 /* Supporting Files */, 80 | ); 81 | path = RiskyClick; 82 | sourceTree = ""; 83 | }; 84 | 11AEF07719E4BD0B0056A468 /* Supporting Files */ = { 85 | isa = PBXGroup; 86 | children = ( 87 | 11AEF07819E4BD0B0056A468 /* Info.plist */, 88 | ); 89 | name = "Supporting Files"; 90 | sourceTree = ""; 91 | }; 92 | 11AEF08C19E4BD0B0056A468 /* RiskyClickTests */ = { 93 | isa = PBXGroup; 94 | children = ( 95 | 11AEF08F19E4BD0B0056A468 /* RiskyClickTests.swift */, 96 | 11AEF08D19E4BD0B0056A468 /* Supporting Files */, 97 | ); 98 | path = RiskyClickTests; 99 | sourceTree = ""; 100 | }; 101 | 11AEF08D19E4BD0B0056A468 /* Supporting Files */ = { 102 | isa = PBXGroup; 103 | children = ( 104 | 11AEF08E19E4BD0B0056A468 /* Info.plist */, 105 | ); 106 | name = "Supporting Files"; 107 | sourceTree = ""; 108 | }; 109 | /* End PBXGroup section */ 110 | 111 | /* Begin PBXNativeTarget section */ 112 | 11AEF07319E4BD0B0056A468 /* RiskyClick */ = { 113 | isa = PBXNativeTarget; 114 | buildConfigurationList = 11AEF09319E4BD0B0056A468 /* Build configuration list for PBXNativeTarget "RiskyClick" */; 115 | buildPhases = ( 116 | 11AEF07019E4BD0B0056A468 /* Sources */, 117 | 11AEF07119E4BD0B0056A468 /* Frameworks */, 118 | 11AEF07219E4BD0B0056A468 /* Resources */, 119 | ); 120 | buildRules = ( 121 | ); 122 | dependencies = ( 123 | ); 124 | name = RiskyClick; 125 | productName = RiskyClick; 126 | productReference = 11AEF07419E4BD0B0056A468 /* RiskyClick.app */; 127 | productType = "com.apple.product-type.application"; 128 | }; 129 | 11AEF08819E4BD0B0056A468 /* RiskyClickTests */ = { 130 | isa = PBXNativeTarget; 131 | buildConfigurationList = 11AEF09619E4BD0B0056A468 /* Build configuration list for PBXNativeTarget "RiskyClickTests" */; 132 | buildPhases = ( 133 | 11AEF08519E4BD0B0056A468 /* Sources */, 134 | 11AEF08619E4BD0B0056A468 /* Frameworks */, 135 | 11AEF08719E4BD0B0056A468 /* Resources */, 136 | ); 137 | buildRules = ( 138 | ); 139 | dependencies = ( 140 | 11AEF08B19E4BD0B0056A468 /* PBXTargetDependency */, 141 | ); 142 | name = RiskyClickTests; 143 | productName = RiskyClickTests; 144 | productReference = 11AEF08919E4BD0B0056A468 /* RiskyClickTests.xctest */; 145 | productType = "com.apple.product-type.bundle.unit-test"; 146 | }; 147 | /* End PBXNativeTarget section */ 148 | 149 | /* Begin PBXProject section */ 150 | 11AEF06C19E4BD0B0056A468 /* Project object */ = { 151 | isa = PBXProject; 152 | attributes = { 153 | LastUpgradeCheck = 0600; 154 | ORGANIZATIONNAME = twodayslate; 155 | TargetAttributes = { 156 | 11AEF07319E4BD0B0056A468 = { 157 | CreatedOnToolsVersion = 6.0.1; 158 | DevelopmentTeam = C6L3992RFB; 159 | }; 160 | 11AEF08819E4BD0B0056A468 = { 161 | CreatedOnToolsVersion = 6.0.1; 162 | TestTargetID = 11AEF07319E4BD0B0056A468; 163 | }; 164 | }; 165 | }; 166 | buildConfigurationList = 11AEF06F19E4BD0B0056A468 /* Build configuration list for PBXProject "RiskyClick" */; 167 | compatibilityVersion = "Xcode 3.2"; 168 | developmentRegion = English; 169 | hasScannedForEncodings = 0; 170 | knownRegions = ( 171 | en, 172 | Base, 173 | ); 174 | mainGroup = 11AEF06B19E4BD0B0056A468; 175 | productRefGroup = 11AEF07519E4BD0B0056A468 /* Products */; 176 | projectDirPath = ""; 177 | projectRoot = ""; 178 | targets = ( 179 | 11AEF07319E4BD0B0056A468 /* RiskyClick */, 180 | 11AEF08819E4BD0B0056A468 /* RiskyClickTests */, 181 | ); 182 | }; 183 | /* End PBXProject section */ 184 | 185 | /* Begin PBXResourcesBuildPhase section */ 186 | 11AEF07219E4BD0B0056A468 /* Resources */ = { 187 | isa = PBXResourcesBuildPhase; 188 | buildActionMask = 2147483647; 189 | files = ( 190 | 11AEF08119E4BD0B0056A468 /* Images.xcassets in Resources */, 191 | ); 192 | runOnlyForDeploymentPostprocessing = 0; 193 | }; 194 | 11AEF08719E4BD0B0056A468 /* Resources */ = { 195 | isa = PBXResourcesBuildPhase; 196 | buildActionMask = 2147483647; 197 | files = ( 198 | ); 199 | runOnlyForDeploymentPostprocessing = 0; 200 | }; 201 | /* End PBXResourcesBuildPhase section */ 202 | 203 | /* Begin PBXSourcesBuildPhase section */ 204 | 11AEF07019E4BD0B0056A468 /* Sources */ = { 205 | isa = PBXSourcesBuildPhase; 206 | buildActionMask = 2147483647; 207 | files = ( 208 | 11AEF07C19E4BD0B0056A468 /* ViewController.swift in Sources */, 209 | 11AEF07A19E4BD0B0056A468 /* AppDelegate.swift in Sources */, 210 | ); 211 | runOnlyForDeploymentPostprocessing = 0; 212 | }; 213 | 11AEF08519E4BD0B0056A468 /* Sources */ = { 214 | isa = PBXSourcesBuildPhase; 215 | buildActionMask = 2147483647; 216 | files = ( 217 | 11AEF09019E4BD0B0056A468 /* RiskyClickTests.swift in Sources */, 218 | ); 219 | runOnlyForDeploymentPostprocessing = 0; 220 | }; 221 | /* End PBXSourcesBuildPhase section */ 222 | 223 | /* Begin PBXTargetDependency section */ 224 | 11AEF08B19E4BD0B0056A468 /* PBXTargetDependency */ = { 225 | isa = PBXTargetDependency; 226 | target = 11AEF07319E4BD0B0056A468 /* RiskyClick */; 227 | targetProxy = 11AEF08A19E4BD0B0056A468 /* PBXContainerItemProxy */; 228 | }; 229 | /* End PBXTargetDependency section */ 230 | 231 | /* Begin XCBuildConfiguration section */ 232 | 11AEF09119E4BD0B0056A468 /* Debug */ = { 233 | isa = XCBuildConfiguration; 234 | buildSettings = { 235 | ALWAYS_SEARCH_USER_PATHS = NO; 236 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 237 | CLANG_CXX_LIBRARY = "libc++"; 238 | CLANG_ENABLE_MODULES = YES; 239 | CLANG_ENABLE_OBJC_ARC = YES; 240 | CLANG_WARN_BOOL_CONVERSION = YES; 241 | CLANG_WARN_CONSTANT_CONVERSION = YES; 242 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 243 | CLANG_WARN_EMPTY_BODY = YES; 244 | CLANG_WARN_ENUM_CONVERSION = YES; 245 | CLANG_WARN_INT_CONVERSION = YES; 246 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 247 | CLANG_WARN_UNREACHABLE_CODE = YES; 248 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 249 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 250 | COPY_PHASE_STRIP = NO; 251 | ENABLE_STRICT_OBJC_MSGSEND = YES; 252 | GCC_C_LANGUAGE_STANDARD = gnu99; 253 | GCC_DYNAMIC_NO_PIC = NO; 254 | GCC_OPTIMIZATION_LEVEL = 0; 255 | GCC_PREPROCESSOR_DEFINITIONS = ( 256 | "DEBUG=1", 257 | "$(inherited)", 258 | ); 259 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 260 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 261 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 262 | GCC_WARN_UNDECLARED_SELECTOR = YES; 263 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 264 | GCC_WARN_UNUSED_FUNCTION = YES; 265 | GCC_WARN_UNUSED_VARIABLE = YES; 266 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 267 | MTL_ENABLE_DEBUG_INFO = YES; 268 | ONLY_ACTIVE_ARCH = YES; 269 | SDKROOT = iphoneos; 270 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 271 | TARGETED_DEVICE_FAMILY = "1,2"; 272 | }; 273 | name = Debug; 274 | }; 275 | 11AEF09219E4BD0B0056A468 /* Release */ = { 276 | isa = XCBuildConfiguration; 277 | buildSettings = { 278 | ALWAYS_SEARCH_USER_PATHS = NO; 279 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 280 | CLANG_CXX_LIBRARY = "libc++"; 281 | CLANG_ENABLE_MODULES = YES; 282 | CLANG_ENABLE_OBJC_ARC = YES; 283 | CLANG_WARN_BOOL_CONVERSION = YES; 284 | CLANG_WARN_CONSTANT_CONVERSION = YES; 285 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 286 | CLANG_WARN_EMPTY_BODY = YES; 287 | CLANG_WARN_ENUM_CONVERSION = YES; 288 | CLANG_WARN_INT_CONVERSION = YES; 289 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 290 | CLANG_WARN_UNREACHABLE_CODE = YES; 291 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 292 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 293 | COPY_PHASE_STRIP = YES; 294 | ENABLE_NS_ASSERTIONS = NO; 295 | ENABLE_STRICT_OBJC_MSGSEND = YES; 296 | GCC_C_LANGUAGE_STANDARD = gnu99; 297 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 298 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 299 | GCC_WARN_UNDECLARED_SELECTOR = YES; 300 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 301 | GCC_WARN_UNUSED_FUNCTION = YES; 302 | GCC_WARN_UNUSED_VARIABLE = YES; 303 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 304 | MTL_ENABLE_DEBUG_INFO = NO; 305 | SDKROOT = iphoneos; 306 | TARGETED_DEVICE_FAMILY = "1,2"; 307 | VALIDATE_PRODUCT = YES; 308 | }; 309 | name = Release; 310 | }; 311 | 11AEF09419E4BD0B0056A468 /* Debug */ = { 312 | isa = XCBuildConfiguration; 313 | buildSettings = { 314 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 315 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 316 | CODE_SIGN_IDENTITY = "iPhone Developer"; 317 | INFOPLIST_FILE = RiskyClick/Info.plist; 318 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 319 | PRODUCT_NAME = "$(TARGET_NAME)"; 320 | }; 321 | name = Debug; 322 | }; 323 | 11AEF09519E4BD0B0056A468 /* Release */ = { 324 | isa = XCBuildConfiguration; 325 | buildSettings = { 326 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 327 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 328 | CODE_SIGN_IDENTITY = "iPhone Developer"; 329 | INFOPLIST_FILE = RiskyClick/Info.plist; 330 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 331 | PRODUCT_NAME = "$(TARGET_NAME)"; 332 | }; 333 | name = Release; 334 | }; 335 | 11AEF09719E4BD0B0056A468 /* Debug */ = { 336 | isa = XCBuildConfiguration; 337 | buildSettings = { 338 | BUNDLE_LOADER = "$(TEST_HOST)"; 339 | FRAMEWORK_SEARCH_PATHS = ( 340 | "$(SDKROOT)/Developer/Library/Frameworks", 341 | "$(inherited)", 342 | ); 343 | GCC_PREPROCESSOR_DEFINITIONS = ( 344 | "DEBUG=1", 345 | "$(inherited)", 346 | ); 347 | INFOPLIST_FILE = RiskyClickTests/Info.plist; 348 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 349 | PRODUCT_NAME = "$(TARGET_NAME)"; 350 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RiskyClick.app/RiskyClick"; 351 | }; 352 | name = Debug; 353 | }; 354 | 11AEF09819E4BD0B0056A468 /* Release */ = { 355 | isa = XCBuildConfiguration; 356 | buildSettings = { 357 | BUNDLE_LOADER = "$(TEST_HOST)"; 358 | FRAMEWORK_SEARCH_PATHS = ( 359 | "$(SDKROOT)/Developer/Library/Frameworks", 360 | "$(inherited)", 361 | ); 362 | INFOPLIST_FILE = RiskyClickTests/Info.plist; 363 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 364 | PRODUCT_NAME = "$(TARGET_NAME)"; 365 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RiskyClick.app/RiskyClick"; 366 | }; 367 | name = Release; 368 | }; 369 | /* End XCBuildConfiguration section */ 370 | 371 | /* Begin XCConfigurationList section */ 372 | 11AEF06F19E4BD0B0056A468 /* Build configuration list for PBXProject "RiskyClick" */ = { 373 | isa = XCConfigurationList; 374 | buildConfigurations = ( 375 | 11AEF09119E4BD0B0056A468 /* Debug */, 376 | 11AEF09219E4BD0B0056A468 /* Release */, 377 | ); 378 | defaultConfigurationIsVisible = 0; 379 | defaultConfigurationName = Release; 380 | }; 381 | 11AEF09319E4BD0B0056A468 /* Build configuration list for PBXNativeTarget "RiskyClick" */ = { 382 | isa = XCConfigurationList; 383 | buildConfigurations = ( 384 | 11AEF09419E4BD0B0056A468 /* Debug */, 385 | 11AEF09519E4BD0B0056A468 /* Release */, 386 | ); 387 | defaultConfigurationIsVisible = 0; 388 | defaultConfigurationName = Release; 389 | }; 390 | 11AEF09619E4BD0B0056A468 /* Build configuration list for PBXNativeTarget "RiskyClickTests" */ = { 391 | isa = XCConfigurationList; 392 | buildConfigurations = ( 393 | 11AEF09719E4BD0B0056A468 /* Debug */, 394 | 11AEF09819E4BD0B0056A468 /* Release */, 395 | ); 396 | defaultConfigurationIsVisible = 0; 397 | defaultConfigurationName = Release; 398 | }; 399 | /* End XCConfigurationList section */ 400 | }; 401 | rootObject = 11AEF06C19E4BD0B0056A468 /* Project object */; 402 | } 403 | --------------------------------------------------------------------------------