diff --git a/tvOS-App/CCC-TV/CCC-TV/AppDelegate.swift b/tvOS-App/CCC-TV/CCC-TV/AppDelegate.swift index a1cd62d..d281771 100644 --- a/tvOS-App/CCC-TV/CCC-TV/AppDelegate.swift +++ b/tvOS-App/CCC-TV/CCC-TV/AppDelegate.swift @@ -10,8 +10,8 @@ import UIKit import CoreData import TVMLKit -let build = NSBundle.mainBundle().infoDictionary?.indexForKey(kCFBundleVersionKey as String) -let version = (NSBundle.mainBundle().infoDictionary?["CFBundleShortVersionString"]?.description)! as String +let build = Bundle.main.infoDictionary?.index(forKey: kCFBundleVersionKey as String) +let version = (Bundle.main.infoDictionary?["CFBundleShortVersionString"]?.description)! as String var globalJsContext: JSContext? @@ -28,8 +28,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate, TVApplicationControllerDe //static let TVBaseURL = "http://localhost:9001" static var TVBaseURL: String { get { - let version = (NSBundle.mainBundle().infoDictionary?["CFBundleShortVersionString"]?.description)! as String - let environment: Dictionary = NSProcessInfo.processInfo().environment + let version = (Bundle.mainBundle().infoDictionary?["CFBundleShortVersionString"]?.description)! as String + let environment: Dictionary = ProcessInfo.processInfo().environment if let serverenvironment = environment["server-environment"] { NSLog("Server environment \(serverenvironment).") switch serverenvironment { @@ -54,7 +54,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate, TVApplicationControllerDe func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. - window = UIWindow(frame: UIScreen.mainScreen().bounds) + window = UIWindow(frame: UIScreen.main.bounds) print("Build: \(build) Versin: \(version)") print("URL: \(AppDelegate.TVBaseURL)") @@ -74,7 +74,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate, TVApplicationControllerDe the user quickly. */ if let javaScriptURL = NSURL(string: AppDelegate.TVBootURL) { - appControllerContext.javaScriptApplicationURL = javaScriptURL + appControllerContext.javaScriptApplicationURL = javaScriptURL as URL } appControllerContext.launchOptions["BASEURL"] = AppDelegate.TVBaseURL @@ -102,7 +102,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate, TVApplicationControllerDe } func appController(appController: TVApplicationController, didFailWithError error: NSError) { - print("\(__FUNCTION__) invoked with error: \(error)") + print("\(#function) invoked with error: \(error)") let title = "Error Launching Application" let message = error.localizedDescription diff --git a/tvOS-App/CCC-TV/CCC-TV/Exports/ConferencesExport.swift b/tvOS-App/CCC-TV/CCC-TV/Exports/ConferencesExport.swift index 5b1d888..88827d2 100644 --- a/tvOS-App/CCC-TV/CCC-TV/Exports/ConferencesExport.swift +++ b/tvOS-App/CCC-TV/CCC-TV/Exports/ConferencesExport.swift @@ -26,7 +26,7 @@ class ConferencesExport: NSObject, ConferencesExportProtocol { ("title", conference.title) , ("acronym", conference.acronym) , ("logo_url", conference.logo_url.absoluteString) - , ("updated_at", NSDateFormatter.localizedStringFromDate(conference.updated_at, dateStyle: .MediumStyle, timeStyle: .MediumStyle) ) + , ("updated_at", DateFormatter.localizedStringFromDate(conference.updated_at as Date, dateStyle: .mediumStyle, timeStyle: .mediumStyle) ) , ("aspect_ratio", conference.aspect_ratio) , ("schedule_url", conference.schedule_url.absoluteString) , ("images_url", conference.images_url.absoluteString) @@ -56,9 +56,9 @@ class ConferencesExport: NSObject, ConferencesExportProtocol { , ("url", event.url.absoluteString) , ("link", (event.link?.absoluteString) ?? "") , ("frontend_link", (event.frontend_link?.absoluteString) ?? "") - , ("date", NSDateFormatter.localizedStringFromDate(event.date ?? NSDate(), dateStyle: .MediumStyle, timeStyle: .MediumStyle) ) - , ("release_date", NSDateFormatter.localizedStringFromDate(event.release_date ?? NSDate(), dateStyle: .MediumStyle, timeStyle: .MediumStyle) ) - , ("updated_at", NSDateFormatter.localizedStringFromDate(event.updated_at!, dateStyle: .MediumStyle, timeStyle: .MediumStyle) ) + , ("date", DateFormatter.localizedStringFromDate(event.date ?? NSDate(), dateStyle: .MediumStyle, timeStyle: .MediumStyle) ) + , ("release_date", DateFormatter.localizedStringFromDate(event.release_date ?? NSDate(), dateStyle: .MediumStyle, timeStyle: .MediumStyle) ) + , ("updated_at", DateFormatter.localizedStringFromDate(event.updated_at!, dateStyle: .MediumStyle, timeStyle: .MediumStyle) ) , ("poster_url", (event.poster_url?.absoluteString) ?? "") , ("thumb_url", (event.thumb_url?.absoluteString) ?? "") , ("conference_url", (event.conference_url?.absoluteString) ?? "") @@ -77,19 +77,19 @@ class ConferencesExport: NSObject, ConferencesExportProtocol { downloader.performDownload(){ globalJsContext?.evaluateScript("updateUI();") let conferences = self.conferenceStructToObject() - fn.callWithArguments(conferences) + fn.call(withArguments: conferences) } return Array(arrayLiteral: Dictionary()) } } - func eventsOfConference(id: NSString, fn: JSValue){ + func eventsOfConference(url id: NSString, fn: JSValue){ if(allEvents.count > 0){ print("# events from the cahce") let events = self.eventStructToObject(withEventId: Int(id as String)!) NSLog("events length \(events.count)"); - fn.callWithArguments(events) + fn.call(withArguments: events) } else { let eventsDownloader = DownloadEventsOperation(eventId: Int(id as String)!) @@ -111,4 +111,4 @@ class ConferencesExport: NSObject, ConferencesExportProtocol { } } - \ No newline at end of file + diff --git a/tvOS-App/CCC-TV/CCC-TV/Info.plist b/tvOS-App/CCC-TV/CCC-TV/Info.plist index 1b020bd..e1414bf 100644 --- a/tvOS-App/CCC-TV/CCC-TV/Info.plist +++ b/tvOS-App/CCC-TV/CCC-TV/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.1 + 2.0.0 CFBundleSignature ???? CFBundleVersion diff --git a/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/DownloadConferencesOperation.swift b/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/DownloadConferencesOperation.swift index d5a86a9..78c70f6 100644 --- a/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/DownloadConferencesOperation.swift +++ b/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/DownloadConferencesOperation.swift @@ -9,7 +9,7 @@ import Foundation import SwiftyJSON -class DownloadConferencesOperation: NSOperation { +class DownloadConferencesOperation: Operation { private var _finished: Bool = false { willSet { @@ -19,13 +19,13 @@ class DownloadConferencesOperation: NSOperation { self.didChangeValueForKey("isFinished"); } } - override var finished: Bool { + override var isFinished: Bool { get { return _finished } } - let dateFormatter = NSDateFormatter() + let dateFormatter = DateFormatter() override init(){ dateFormatter.dateFormat = "yyyy-MM-dd'T'kk:mm:ss.SSSxxxxx" @@ -47,7 +47,7 @@ class DownloadConferencesOperation: NSOperation { title: subJson["title"].stringValue , acronym: subJson["acronym"].stringValue , logo_url: NSURL(string: subJson["logo_url"].stringValue)! - , updated_at: self.dateFormatter.dateFromString(subJson["updated_at"].stringValue)! + , updated_at: self.dateFormatter.dateFromString(subJson["updated_at"].stringValue)! as NSDate , aspect_ratio: subJson["aspect_ratio"].stringValue , schedule_url: NSURL(string: subJson["schedule_url"].stringValue)! , images_url: NSURL(string: subJson["images_url"].stringValue)! @@ -59,7 +59,7 @@ class DownloadConferencesOperation: NSOperation { allConferences.append(conference) } } - allConferences.sortInPlace({ $0.updated_at.compare($1.updated_at) == NSComparisonResult.OrderedDescending }) + allConferences.sortInPlace({ $0.updated_at.compare($1.updated_at) == ComparisonResultrderedDescending }) self._finished = true } diff --git a/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/DownloadEventsOperation.swift b/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/DownloadEventsOperation.swift index 02035be..18424c4 100644 --- a/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/DownloadEventsOperation.swift +++ b/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/DownloadEventsOperation.swift @@ -9,25 +9,25 @@ import Foundation import SwiftyJSON -class DownloadEventsOperation: NSOperation { +class DownloadEventsOperation: Operation { private let eventId: Int private var _finished: Bool = false { willSet { - self.willChangeValueForKey("isFinished"); + self.willChangeValue(forKey: "isFinished"); } didSet { - self.didChangeValueForKey("isFinished"); + self.didChangeValue(forKey: "isFinished"); } } - override var finished: Bool { + override var isFinished: Bool { get { return _finished } } - let dateFormatter = NSDateFormatter() + let dateFormatter = DateFormatter() init(eventId: Int){ dateFormatter.dateFormat = "yyyy-MM-dd'T'kk:mm:ss.SSSxxxxx" @@ -49,7 +49,7 @@ class DownloadEventsOperation: NSOperation { } allEvents[self.eventId] = allEvents[self.eventId]!.filter({$0.guid != guid}) var defaultDate = "1970-01-01T00:00:00.000+00:00" - if(subJson["date"].isExists() && subJson["date"].stringValue != ""){ + if(subJson["date"].exists() && subJson["date"].stringValue != "") { defaultDate = subJson["date"].stringValue } var event = Event( @@ -65,24 +65,24 @@ class DownloadEventsOperation: NSOperation { , url: NSURL(string: subJson["url"].stringValue)! , link: NSURL(string: subJson["link"].stringValue) , frontend_link: NSURL(string: subJson["frontend_link"].stringValue) - , date: self.dateFormatter.dateFromString(defaultDate)! + , date: self.dateFormatter.date(from: defaultDate)! as NSDate , release_date: nil - , updated_at: self.dateFormatter.dateFromString(subJson["updated_at"].stringValue) + , updated_at: self.dateFormatter.date(from: subJson["updated_at"].stringValue) as NSDate? , poster_url: NSURL(string: subJson["poster_url"].stringValue) , thumb_url: NSURL(string: subJson["thumb_url"].stringValue) , conference_url: NSURL(string: subJson["conference_url"].stringValue) ) - if subJson["release_date"].isExists() { - event.release_date = self.dateFormatter.dateFromString(subJson["release_date"].stringValue) + if subJson["release_date"].exists() { + event.release_date = self.dateFormatter.date(from: subJson["release_date"].stringValue) as NSDate? } else { event.release_date = NSDate() } allEvents[self.eventId]!.append(event) } } - if(allEvents.keys.contains(self.eventId)){ - allEvents[self.eventId]!.sortInPlace({ $0.date.compare($1.date) == NSComparisonResult.OrderedDescending }) + if(allEvents.keys.contains(self.eventId)) { + allEvents[self.eventId]!.sort(by: { $0.date.compare($1.date as Date) == ComparisonResult.orderedDescending }) } self._finished = true } diff --git a/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/Downloader.swift b/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/Downloader.swift index 89ed58b..7bc56ff 100644 --- a/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/Downloader.swift +++ b/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/Downloader.swift @@ -8,7 +8,7 @@ import Foundation -var downloadQueue = NSOperationQueue() +var downloadQueue = OperationQueue() class Downloader { @@ -26,4 +26,4 @@ class Downloader { downloadQueue.addOperation(conferencesDownloader) } -} \ No newline at end of file +} diff --git a/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/Requests/ConferencesRequest.swift b/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/Requests/ConferencesRequest.swift index 891b144..335f99b 100644 --- a/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/Requests/ConferencesRequest.swift +++ b/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/Requests/ConferencesRequest.swift @@ -23,10 +23,10 @@ class ConferencesRequest: Requestable { if self._json != nil { return _json! } - return JSON(data: "{}".dataUsingEncoding(NSUTF8StringEncoding)!) + return JSON(data: "{}".data(using: String.Encoding.utf8)!) } set(newJson) { self._json = newJson } } -} \ No newline at end of file +} diff --git a/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/Requests/EventsRequest.swift b/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/Requests/EventsRequest.swift index 1e3b34f..b1c2901 100644 --- a/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/Requests/EventsRequest.swift +++ b/tvOS-App/CCC-TV/CCC-TV/NetworkOperations/Requests/EventsRequest.swift @@ -30,7 +30,7 @@ class EventsRequest: Requestable { if self._json != nil { return _json! } - return JSON(data: "{}".dataUsingEncoding(NSUTF8StringEncoding)!) + return JSON(data: "{}".data(usingEncoding: NSUTF8StringEncoding)!) } set(newJson) { self._json = newJson diff --git a/tvOS-App/CCC-TV/CCC-TV/Requestable.swift b/tvOS-App/CCC-TV/CCC-TV/Requestable.swift index 6511360..7c32fd4 100644 --- a/tvOS-App/CCC-TV/CCC-TV/Requestable.swift +++ b/tvOS-App/CCC-TV/CCC-TV/Requestable.swift @@ -27,21 +27,21 @@ protocol Requestable { extension Requestable { - mutating func performRequest(completionHandler: (RequestError?, JSON?)->()) { + mutating func performRequest(completionHandler: @escaping (RequestError?, JSON?)->()) { let url = NSURL(string: "\(apiUrl)\(requestUrl)") - let configuration = NSURLSessionConfiguration.defaultSessionConfiguration() + let configuration = URLSessionConfiguration.default - let request = NSURLRequest(URL: url!) + let request = URLRequest(url: url! as URL) - let session = NSURLSession( + let session = URLSession( configuration: configuration , delegate: SessionDelegate() - , delegateQueue: NSOperationQueue.mainQueue() + , delegateQueue: OperationQueue.main ) - let task = session.dataTaskWithRequest(request){ - (data: NSData?, response: NSURLResponse?, error: NSError?) -> Void in + let task = session.dataTask(with: request) { + (data: NSData?, response: URLResponse?, error: NSError?) -> Void in if error != nil { NSLog(error!.localizedDescription) @@ -62,9 +62,9 @@ extension Requestable { } -class SessionDelegate: NSObject, NSURLSessionDelegate, NSURLSessionTaskDelegate { +class SessionDelegate: NSObject, URLSessionDelegate, URLSessionTaskDelegate { - func URLSession(session: NSURLSession, task: NSURLSessionTask, didReceiveChallenge challenge: NSURLAuthenticationChallenge, completionHandler: (NSURLSessionAuthChallengeDisposition, NSURLCredential?) -> Void) { + func URLSession(session: URLSession, task: NSURLSessionTask, didReceiveChallenge challenge: URLAuthenticationChallenge, completionHandler: (NSURLSessionAuthChallengeDisposition, NSURLCredential?) -> Void) { if let trust = challenge.protectionSpace.serverTrust { completionHandler( NSURLSessionAuthChallengeDisposition.UseCredential @@ -75,7 +75,7 @@ class SessionDelegate: NSObject, NSURLSessionDelegate, NSURLSessionTaskDelegate } } - func URLSession(session: NSURLSession, task: NSURLSessionTask, willPerformHTTPRedirection response: NSHTTPURLResponse, newRequest request: NSURLRequest, completionHandler: (NSURLRequest?) -> Void) { + func URLSession(session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: NSHTTPURLResponse, newRequest request: NSURLRequest, completionHandler: (NSURLRequest?) -> Void) { let newRequest : NSURLRequest? = request completionHandler(newRequest) } diff --git a/tvOS-App/CCC-TV/CCCtv.xcodeproj/project.pbxproj b/tvOS-App/CCC-TV/CCCtv.xcodeproj/project.pbxproj index 888bbfe..7dc6594 100644 --- a/tvOS-App/CCC-TV/CCCtv.xcodeproj/project.pbxproj +++ b/tvOS-App/CCC-TV/CCCtv.xcodeproj/project.pbxproj @@ -65,13 +65,19 @@ remoteGlobalIDString = 010BAB591BCC7032007CB351; remoteInfo = "CCC-TV"; }; + DB0390611E1B1EE000C03197 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 010BAB521BCC7032007CB351 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 010A4ADC1C246B25007CB351; + remoteInfo = "CCCtv (Production)"; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 01017D161C1F37FF007CB351 /* ConferencesExport.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ConferencesExport.swift; path = Exports/ConferencesExport.swift; sourceTree = ""; }; 01017D181C1F3ECE007CB351 /* LogExporter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LogExporter.swift; path = Exports/LogExporter.swift; sourceTree = ""; }; 010A4AF61C246B25007CB351 /* CCCtv (Production).app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "CCCtv (Production).app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 010A4AF71C246B25007CB351 /* CCCtv copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "CCCtv copy-Info.plist"; path = "/Users/kris/Projects/ausdertechnik.de/Applications/Public/CCC-TV/tvOS-App/CCC-TV/CCCtv copy-Info.plist"; sourceTree = ""; }; 010BAB5A1BCC7032007CB351 /* CCCtv.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CCCtv.app; sourceTree = BUILT_PRODUCTS_DIR; }; 010BAB5D1BCC7032007CB351 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = AppDelegate.swift; sourceTree = ""; }; 010BAB621BCC7032007CB351 /* CCC_TV.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = CCC_TV.xcdatamodel; sourceTree = ""; }; @@ -96,6 +102,7 @@ 01B5D8F71BD66CF5007CB351 /* SettingsExport.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SettingsExport.swift; path = Exports/SettingsExport.swift; sourceTree = ""; }; 0EABE87323B5EF6162983383 /* Pods_CCCtv.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CCCtv.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1778DAFC999F1ED12F119386 /* Pods-CCCtv.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CCCtv.release.xcconfig"; path = "../Pods/Target Support Files/Pods-CCCtv/Pods-CCCtv.release.xcconfig"; sourceTree = ""; }; + 1780066D4B2E2DDD6165CF14 /* Pods_CCCtv__Production_.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CCCtv__Production_.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1BB5CABC2D9301F2CE977FC8 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3FC4D1C2EF77D5B2D30A540A /* Pods-CCCtv-Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CCCtv-Tests.debug.xcconfig"; path = "../Pods/Target Support Files/Pods-CCCtv-Tests/Pods-CCCtv-Tests.debug.xcconfig"; sourceTree = ""; }; 6B20274B6B2E446B30B7A1DF /* Pods-CCCtv-Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CCCtv-Tests.release.xcconfig"; path = "../Pods/Target Support Files/Pods-CCCtv-Tests/Pods-CCCtv-Tests.release.xcconfig"; sourceTree = ""; }; @@ -140,7 +147,6 @@ 613466F04B15507ED9F84B8D /* Pods */, 780357042C6BA944CACAAF59 /* Frameworks */, 01733F4C1C1A1425007CB351 /* CCC-TV-Tests */, - 010A4AF71C246B25007CB351 /* CCCtv copy-Info.plist */, ); sourceTree = ""; usesTabs = 0; @@ -272,6 +278,7 @@ 1BB5CABC2D9301F2CE977FC8 /* Pods.framework */, 0EABE87323B5EF6162983383 /* Pods_CCCtv.framework */, F6D41729F2960DF86260B1CD /* Pods_CCCtv_Tests.framework */, + 1780066D4B2E2DDD6165CF14 /* Pods_CCCtv__Production_.framework */, ); name = Frameworks; sourceTree = ""; @@ -300,12 +307,12 @@ isa = PBXNativeTarget; buildConfigurationList = 010BAB6C1BCC7032007CB351 /* Build configuration list for PBXNativeTarget "CCCtv" */; buildPhases = ( - 50D34DF87BC395FAB0FC83BA /* Check Pods Manifest.lock */, + 50D34DF87BC395FAB0FC83BA /* [CP] Check Pods Manifest.lock */, 010BAB561BCC7032007CB351 /* Sources */, 010BAB571BCC7032007CB351 /* Frameworks */, 010BAB581BCC7032007CB351 /* Resources */, - 7C1808733CFB9E8A28E8C0F8 /* Embed Pods Frameworks */, - 9F157C46DD90BECD61199FE0 /* Copy Pods Resources */, + 7C1808733CFB9E8A28E8C0F8 /* [CP] Embed Pods Frameworks */, + 9F157C46DD90BECD61199FE0 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -320,17 +327,18 @@ isa = PBXNativeTarget; buildConfigurationList = 01733F521C1A1425007CB351 /* Build configuration list for PBXNativeTarget "CCCtv-Tests" */; buildPhases = ( - 77DF81C9B2E4DB0EBF76D62F /* Check Pods Manifest.lock */, + 77DF81C9B2E4DB0EBF76D62F /* [CP] Check Pods Manifest.lock */, 01733F471C1A1425007CB351 /* Sources */, 01733F481C1A1425007CB351 /* Frameworks */, 01733F491C1A1425007CB351 /* Resources */, - 159DF6E048F506A72B803248 /* Embed Pods Frameworks */, - 45405337AD7A252101B9F755 /* Copy Pods Resources */, + 159DF6E048F506A72B803248 /* [CP] Embed Pods Frameworks */, + 45405337AD7A252101B9F755 /* [CP] Copy Pods Resources */, ); buildRules = ( ); dependencies = ( 01733F541C1A1523007CB351 /* PBXTargetDependency */, + DB0390621E1B1EE000C03197 /* PBXTargetDependency */, ); name = "CCCtv-Tests"; productName = "CCC-TV-Tests"; @@ -353,7 +361,7 @@ }; 01733F4A1C1A1425007CB351 = { CreatedOnToolsVersion = 7.2; - TestTargetID = 010BAB591BCC7032007CB351; + TestTargetID = 010A4ADC1C246B25007CB351; }; }; }; @@ -404,14 +412,14 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 159DF6E048F506A72B803248 /* Embed Pods Frameworks */ = { + 159DF6E048F506A72B803248 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "Embed Pods Frameworks"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; @@ -419,14 +427,14 @@ shellScript = "\"${SRCROOT}/../Pods/Target Support Files/Pods-CCCtv-Tests/Pods-CCCtv-Tests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 45405337AD7A252101B9F755 /* Copy Pods Resources */ = { + 45405337AD7A252101B9F755 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "Copy Pods Resources"; + name = "[CP] Copy Pods Resources"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; @@ -434,44 +442,44 @@ shellScript = "\"${SRCROOT}/../Pods/Target Support Files/Pods-CCCtv-Tests/Pods-CCCtv-Tests-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 50D34DF87BC395FAB0FC83BA /* Check Pods Manifest.lock */ = { + 50D34DF87BC395FAB0FC83BA /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "Check Pods Manifest.lock"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; showEnvVarsInLog = 0; }; - 77DF81C9B2E4DB0EBF76D62F /* Check Pods Manifest.lock */ = { + 77DF81C9B2E4DB0EBF76D62F /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "Check Pods Manifest.lock"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; showEnvVarsInLog = 0; }; - 7C1808733CFB9E8A28E8C0F8 /* Embed Pods Frameworks */ = { + 7C1808733CFB9E8A28E8C0F8 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "Embed Pods Frameworks"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; @@ -479,14 +487,14 @@ shellScript = "\"${SRCROOT}/../Pods/Target Support Files/Pods-CCCtv/Pods-CCCtv-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 9F157C46DD90BECD61199FE0 /* Copy Pods Resources */ = { + 9F157C46DD90BECD61199FE0 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "Copy Pods Resources"; + name = "[CP] Copy Pods Resources"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; @@ -568,6 +576,11 @@ target = 010BAB591BCC7032007CB351 /* CCCtv */; targetProxy = 01733F531C1A1523007CB351 /* PBXContainerItemProxy */; }; + DB0390621E1B1EE000C03197 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 010A4ADC1C246B25007CB351 /* CCCtv (Production) */; + targetProxy = DB0390611E1B1EE000C03197 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ @@ -694,6 +707,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "de.ausdertechnik.CCC-TV"; PRODUCT_NAME = CCCtv; + SWIFT_VERSION = 3.0; TVOS_DEPLOYMENT_TARGET = 9.1; }; name = Debug; @@ -710,6 +724,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "de.ausdertechnik.CCC-TV"; PRODUCT_NAME = CCCtv; + SWIFT_VERSION = 3.0; TVOS_DEPLOYMENT_TARGET = 9.1; }; name = Release; @@ -725,8 +740,8 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "de.ausdertechnik.CCC-TV-Tests"; PRODUCT_NAME = CCCtv; - SDKROOT = appletvos9.1; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CCCtv.app/CCCtv"; + SDKROOT = appletvos; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CCCtv (Production).app/CCCtv (Production)"; }; name = Debug; }; @@ -741,8 +756,8 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "de.ausdertechnik.CCC-TV-Tests"; PRODUCT_NAME = CCCtv; - SDKROOT = appletvos9.1; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CCCtv.app/CCCtv"; + SDKROOT = appletvos; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CCCtv (Production).app/CCCtv (Production)"; }; name = Release; };