diff --git a/.gitignore b/.gitignore
index ae12729..132af72 100644
--- a/.gitignore
+++ b/.gitignore
@@ -42,3 +42,9 @@ docs/
# Fastlane
fastlane/report.xml
fastlane/test_output
+
+# macOS
+.DS_Store
+
+# SwiftPM
+.build
diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..919434a
--- /dev/null
+++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/CocoaUPnP/Helpers/NSArray+firstObjectMatchingPredicate.h b/CocoaUPnP/NSArray+firstObjectMatchingPredicate.h
similarity index 100%
rename from CocoaUPnP/Helpers/NSArray+firstObjectMatchingPredicate.h
rename to CocoaUPnP/NSArray+firstObjectMatchingPredicate.h
diff --git a/CocoaUPnP/Helpers/NSArray+firstObjectMatchingPredicate.m b/CocoaUPnP/NSArray+firstObjectMatchingPredicate.m
similarity index 100%
rename from CocoaUPnP/Helpers/NSArray+firstObjectMatchingPredicate.m
rename to CocoaUPnP/NSArray+firstObjectMatchingPredicate.m
diff --git a/CocoaUPnP/Helpers/NSMutableString+xmlNode.h b/CocoaUPnP/NSMutableString+xmlNode.h
similarity index 100%
rename from CocoaUPnP/Helpers/NSMutableString+xmlNode.h
rename to CocoaUPnP/NSMutableString+xmlNode.h
diff --git a/CocoaUPnP/Helpers/NSMutableString+xmlNode.m b/CocoaUPnP/NSMutableString+xmlNode.m
similarity index 100%
rename from CocoaUPnP/Helpers/NSMutableString+xmlNode.m
rename to CocoaUPnP/NSMutableString+xmlNode.m
diff --git a/CocoaUPnP/Helpers/ONOXMLDocument+StringValueOrNil.h b/CocoaUPnP/ONOXMLDocument+StringValueOrNil.h
similarity index 92%
rename from CocoaUPnP/Helpers/ONOXMLDocument+StringValueOrNil.h
rename to CocoaUPnP/ONOXMLDocument+StringValueOrNil.h
index d0e13ec..9b515b4 100644
--- a/CocoaUPnP/Helpers/ONOXMLDocument+StringValueOrNil.h
+++ b/CocoaUPnP/ONOXMLDocument+StringValueOrNil.h
@@ -1,7 +1,7 @@
// CocoaUPnP by A&R Cambridge Ltd, http://www.arcam.co.uk
// Copyright 2016 Arcam. See LICENSE file.
-#import
+@import Ono;
@interface ONOXMLElement (StringValueOrNil)
- (NSString *)stringValueOrNil;
diff --git a/CocoaUPnP/Helpers/ONOXMLDocument+StringValueOrNil.m b/CocoaUPnP/ONOXMLDocument+StringValueOrNil.m
similarity index 92%
rename from CocoaUPnP/Helpers/ONOXMLDocument+StringValueOrNil.m
rename to CocoaUPnP/ONOXMLDocument+StringValueOrNil.m
index 631f65a..56e16a8 100644
--- a/CocoaUPnP/Helpers/ONOXMLDocument+StringValueOrNil.m
+++ b/CocoaUPnP/ONOXMLDocument+StringValueOrNil.m
@@ -1,7 +1,7 @@
// CocoaUPnP by A&R Cambridge Ltd, http://www.arcam.co.uk
// Copyright 2016 Arcam. See LICENSE file.
-#import "ONOXMLDocument+StringValueOrNil.h"
+@import Ono;
@implementation ONOXMLElement (StringValueOrNil)
- (NSString *)stringValueOrNil {
diff --git a/CocoaUPnP/Networking/SSDP/SSDPService.h b/CocoaUPnP/SSDPService.h
similarity index 100%
rename from CocoaUPnP/Networking/SSDP/SSDPService.h
rename to CocoaUPnP/SSDPService.h
diff --git a/CocoaUPnP/Networking/SSDP/SSDPService.m b/CocoaUPnP/SSDPService.m
similarity index 100%
rename from CocoaUPnP/Networking/SSDP/SSDPService.m
rename to CocoaUPnP/SSDPService.m
diff --git a/CocoaUPnP/Networking/SSDP/SSDPServiceBrowser.h b/CocoaUPnP/SSDPServiceBrowser.h
similarity index 98%
rename from CocoaUPnP/Networking/SSDP/SSDPServiceBrowser.h
rename to CocoaUPnP/SSDPServiceBrowser.h
index 9005caf..97dae75 100644
--- a/CocoaUPnP/Networking/SSDP/SSDPServiceBrowser.h
+++ b/CocoaUPnP/SSDPServiceBrowser.h
@@ -23,7 +23,7 @@
// Copyright 2015 Arcam. See LICENSE file.
#import
-#import
+@import CocoaAsyncSocket;
@class SSDPServiceBrowser;
@class SSDPService;
diff --git a/CocoaUPnP/Networking/SSDP/SSDPServiceBrowser.m b/CocoaUPnP/SSDPServiceBrowser.m
similarity index 99%
rename from CocoaUPnP/Networking/SSDP/SSDPServiceBrowser.m
rename to CocoaUPnP/SSDPServiceBrowser.m
index 1b5d8da..bb858cc 100644
--- a/CocoaUPnP/Networking/SSDP/SSDPServiceBrowser.m
+++ b/CocoaUPnP/SSDPServiceBrowser.m
@@ -24,13 +24,14 @@
#import "SSDPServiceBrowser.h"
-#import "GCDAsyncUdpSocket.h"
+@import GCDWebServers;
#import "SSDPService.h"
#import
#import
#import
#import
+#import
NSString * const SSDPMulticastGroupAddress = @"239.255.255.250";
const UInt16 SSDPMulticastUDPPort = 1900;
diff --git a/CocoaUPnP/Services/UPPAVTransportService.h b/CocoaUPnP/UPPAVTransportService.h
similarity index 100%
rename from CocoaUPnP/Services/UPPAVTransportService.h
rename to CocoaUPnP/UPPAVTransportService.h
diff --git a/CocoaUPnP/Services/UPPAVTransportService.m b/CocoaUPnP/UPPAVTransportService.m
similarity index 100%
rename from CocoaUPnP/Services/UPPAVTransportService.m
rename to CocoaUPnP/UPPAVTransportService.m
diff --git a/CocoaUPnP/Parsers/UPPBaseParser.h b/CocoaUPnP/UPPBaseParser.h
similarity index 100%
rename from CocoaUPnP/Parsers/UPPBaseParser.h
rename to CocoaUPnP/UPPBaseParser.h
diff --git a/CocoaUPnP/Parsers/UPPBaseParser.m b/CocoaUPnP/UPPBaseParser.m
similarity index 100%
rename from CocoaUPnP/Parsers/UPPBaseParser.m
rename to CocoaUPnP/UPPBaseParser.m
diff --git a/CocoaUPnP/Models/UPPBasicDevice.h b/CocoaUPnP/UPPBasicDevice.h
similarity index 100%
rename from CocoaUPnP/Models/UPPBasicDevice.h
rename to CocoaUPnP/UPPBasicDevice.h
diff --git a/CocoaUPnP/Models/UPPBasicDevice.m b/CocoaUPnP/UPPBasicDevice.m
similarity index 100%
rename from CocoaUPnP/Models/UPPBasicDevice.m
rename to CocoaUPnP/UPPBasicDevice.m
diff --git a/CocoaUPnP/Services/UPPBasicService.h b/CocoaUPnP/UPPBasicService.h
similarity index 100%
rename from CocoaUPnP/Services/UPPBasicService.h
rename to CocoaUPnP/UPPBasicService.h
diff --git a/CocoaUPnP/Services/UPPBasicService.m b/CocoaUPnP/UPPBasicService.m
similarity index 100%
rename from CocoaUPnP/Services/UPPBasicService.m
rename to CocoaUPnP/UPPBasicService.m
diff --git a/CocoaUPnP/Services/UPPConnectionManagerService.h b/CocoaUPnP/UPPConnectionManagerService.h
similarity index 100%
rename from CocoaUPnP/Services/UPPConnectionManagerService.h
rename to CocoaUPnP/UPPConnectionManagerService.h
diff --git a/CocoaUPnP/Services/UPPConnectionManagerService.m b/CocoaUPnP/UPPConnectionManagerService.m
similarity index 100%
rename from CocoaUPnP/Services/UPPConnectionManagerService.m
rename to CocoaUPnP/UPPConnectionManagerService.m
diff --git a/CocoaUPnP/Models/UPPConstants.h b/CocoaUPnP/UPPConstants.h
similarity index 86%
rename from CocoaUPnP/Models/UPPConstants.h
rename to CocoaUPnP/UPPConstants.h
index 778fa1b..1c5c041 100644
--- a/CocoaUPnP/Models/UPPConstants.h
+++ b/CocoaUPnP/UPPConstants.h
@@ -1,6 +1,8 @@
// CocoaUPnP by A&R Cambridge Ltd, http://www.arcam.co.uk
// Copyright 2015 Arcam. See LICENSE file.
+#import
+
extern NSString * const UPPSOAPActionKey;
extern NSString * const UPPNameSpaceKey;
extern NSString * const UPPParametersKey;
diff --git a/CocoaUPnP/Models/UPPConstants.m b/CocoaUPnP/UPPConstants.m
similarity index 100%
rename from CocoaUPnP/Models/UPPConstants.m
rename to CocoaUPnP/UPPConstants.m
diff --git a/CocoaUPnP/Services/UPPContentDirectoryService.h b/CocoaUPnP/UPPContentDirectoryService.h
similarity index 100%
rename from CocoaUPnP/Services/UPPContentDirectoryService.h
rename to CocoaUPnP/UPPContentDirectoryService.h
diff --git a/CocoaUPnP/Services/UPPContentDirectoryService.m b/CocoaUPnP/UPPContentDirectoryService.m
similarity index 100%
rename from CocoaUPnP/Services/UPPContentDirectoryService.m
rename to CocoaUPnP/UPPContentDirectoryService.m
diff --git a/CocoaUPnP/Models/UPPDeviceIcon.h b/CocoaUPnP/UPPDeviceIcon.h
similarity index 100%
rename from CocoaUPnP/Models/UPPDeviceIcon.h
rename to CocoaUPnP/UPPDeviceIcon.h
diff --git a/CocoaUPnP/Models/UPPDeviceIcon.m b/CocoaUPnP/UPPDeviceIcon.m
similarity index 100%
rename from CocoaUPnP/Models/UPPDeviceIcon.m
rename to CocoaUPnP/UPPDeviceIcon.m
diff --git a/CocoaUPnP/Parsers/UPPDeviceParser.h b/CocoaUPnP/UPPDeviceParser.h
similarity index 100%
rename from CocoaUPnP/Parsers/UPPDeviceParser.h
rename to CocoaUPnP/UPPDeviceParser.h
diff --git a/CocoaUPnP/Parsers/UPPDeviceParser.m b/CocoaUPnP/UPPDeviceParser.m
similarity index 99%
rename from CocoaUPnP/Parsers/UPPDeviceParser.m
rename to CocoaUPnP/UPPDeviceParser.m
index ac6bd14..67f67ce 100644
--- a/CocoaUPnP/Parsers/UPPDeviceParser.m
+++ b/CocoaUPnP/UPPDeviceParser.m
@@ -3,11 +3,11 @@
#import "UPPDeviceParser.h"
#import "UPPBasicDevice.h"
-#import "Ono.h"
+@import Ono;
#import "UPPDeviceIcon.h"
#import "UPPServiceDescription.h"
#import "UPPError.h"
-#import "AFHTTPSessionManager.h"
+@import AFNetworking;
#import "UPPRequestSerializer.h"
#import "UPPMediaRendererDevice.h"
#import "UPPMediaServerDevice.h"
diff --git a/CocoaUPnP/Networking/UPPDiscovery.h b/CocoaUPnP/UPPDiscovery.h
similarity index 100%
rename from CocoaUPnP/Networking/UPPDiscovery.h
rename to CocoaUPnP/UPPDiscovery.h
diff --git a/CocoaUPnP/Networking/UPPDiscovery.m b/CocoaUPnP/UPPDiscovery.m
similarity index 100%
rename from CocoaUPnP/Networking/UPPDiscovery.m
rename to CocoaUPnP/UPPDiscovery.m
diff --git a/CocoaUPnP/Models/UPPError.h b/CocoaUPnP/UPPError.h
similarity index 100%
rename from CocoaUPnP/Models/UPPError.h
rename to CocoaUPnP/UPPError.h
diff --git a/CocoaUPnP/Models/UPPError.m b/CocoaUPnP/UPPError.m
similarity index 100%
rename from CocoaUPnP/Models/UPPError.m
rename to CocoaUPnP/UPPError.m
diff --git a/CocoaUPnP/Parsers/UPPErrorParser.h b/CocoaUPnP/UPPErrorParser.h
similarity index 100%
rename from CocoaUPnP/Parsers/UPPErrorParser.h
rename to CocoaUPnP/UPPErrorParser.h
diff --git a/CocoaUPnP/Parsers/UPPErrorParser.m b/CocoaUPnP/UPPErrorParser.m
similarity index 98%
rename from CocoaUPnP/Parsers/UPPErrorParser.m
rename to CocoaUPnP/UPPErrorParser.m
index 4adcfae..e6d2281 100644
--- a/CocoaUPnP/Parsers/UPPErrorParser.m
+++ b/CocoaUPnP/UPPErrorParser.m
@@ -3,7 +3,7 @@
#import "UPPErrorParser.h"
#import "UPPError.h"
-#import "Ono.h"
+@import Ono;
@implementation UPPErrorParser
diff --git a/CocoaUPnP/Events/UPPEventServer.h b/CocoaUPnP/UPPEventServer.h
similarity index 97%
rename from CocoaUPnP/Events/UPPEventServer.h
rename to CocoaUPnP/UPPEventServer.h
index b27552b..27b4c02 100644
--- a/CocoaUPnP/Events/UPPEventServer.h
+++ b/CocoaUPnP/UPPEventServer.h
@@ -2,7 +2,7 @@
// Copyright 2015 Arcam. See LICENSE file.
#import
-#import
+@import GCDWebServers;
/**
A delegate protocol for recieving parsed UPnP events.
diff --git a/CocoaUPnP/Events/UPPEventServer.m b/CocoaUPnP/UPPEventServer.m
similarity index 98%
rename from CocoaUPnP/Events/UPPEventServer.m
rename to CocoaUPnP/UPPEventServer.m
index e17a4ac..8777c5f 100644
--- a/CocoaUPnP/Events/UPPEventServer.m
+++ b/CocoaUPnP/UPPEventServer.m
@@ -2,7 +2,7 @@
// Copyright 2015 Arcam. See LICENSE file.
#import "UPPEventServer.h"
-#import "GCDWebServerDataRequest.h"
+@import GCDWebServers;
#import "UPPLastChangeParser.h"
const NSUInteger UPPEventServerPort = 54123;
diff --git a/CocoaUPnP/Events/UPPEventSubscription.h b/CocoaUPnP/UPPEventSubscription.h
similarity index 100%
rename from CocoaUPnP/Events/UPPEventSubscription.h
rename to CocoaUPnP/UPPEventSubscription.h
diff --git a/CocoaUPnP/Events/UPPEventSubscription.m b/CocoaUPnP/UPPEventSubscription.m
similarity index 100%
rename from CocoaUPnP/Events/UPPEventSubscription.m
rename to CocoaUPnP/UPPEventSubscription.m
diff --git a/CocoaUPnP/Events/UPPEventSubscriptionManager.h b/CocoaUPnP/UPPEventSubscriptionManager.h
similarity index 100%
rename from CocoaUPnP/Events/UPPEventSubscriptionManager.h
rename to CocoaUPnP/UPPEventSubscriptionManager.h
diff --git a/CocoaUPnP/Events/UPPEventSubscriptionManager.m b/CocoaUPnP/UPPEventSubscriptionManager.m
similarity index 99%
rename from CocoaUPnP/Events/UPPEventSubscriptionManager.m
rename to CocoaUPnP/UPPEventSubscriptionManager.m
index 4d194b1..5c8aa72 100644
--- a/CocoaUPnP/Events/UPPEventSubscriptionManager.m
+++ b/CocoaUPnP/UPPEventSubscriptionManager.m
@@ -1,6 +1,7 @@
// CocoaUPnP by A&R Cambridge Ltd, http://www.arcam.co.uk
// Copyright 2015 Arcam. See LICENSE file.
+#import
#import "UPPEventSubscriptionManager.h"
#import "UPPBasicService.h"
#import "UPPEventSubscription.h"
diff --git a/CocoaUPnP/Parsers/UPPLastChangeParser.h b/CocoaUPnP/UPPLastChangeParser.h
similarity index 100%
rename from CocoaUPnP/Parsers/UPPLastChangeParser.h
rename to CocoaUPnP/UPPLastChangeParser.h
diff --git a/CocoaUPnP/Parsers/UPPLastChangeParser.m b/CocoaUPnP/UPPLastChangeParser.m
similarity index 99%
rename from CocoaUPnP/Parsers/UPPLastChangeParser.m
rename to CocoaUPnP/UPPLastChangeParser.m
index efc348f..3415619 100644
--- a/CocoaUPnP/Parsers/UPPLastChangeParser.m
+++ b/CocoaUPnP/UPPLastChangeParser.m
@@ -2,7 +2,7 @@
// Copyright 2015 Arcam. See LICENSE file.
#import "UPPLastChangeParser.h"
-#import "Ono.h"
+@import Ono;
#import "UPPError.h"
#import "UPPMediaItemParser.h"
diff --git a/CocoaUPnP/Models/UPPMediaItem.h b/CocoaUPnP/UPPMediaItem.h
similarity index 100%
rename from CocoaUPnP/Models/UPPMediaItem.h
rename to CocoaUPnP/UPPMediaItem.h
diff --git a/CocoaUPnP/Models/UPPMediaItem.m b/CocoaUPnP/UPPMediaItem.m
similarity index 100%
rename from CocoaUPnP/Models/UPPMediaItem.m
rename to CocoaUPnP/UPPMediaItem.m
diff --git a/CocoaUPnP/Models/UPPMediaItemArtwork.h b/CocoaUPnP/UPPMediaItemArtwork.h
similarity index 100%
rename from CocoaUPnP/Models/UPPMediaItemArtwork.h
rename to CocoaUPnP/UPPMediaItemArtwork.h
diff --git a/CocoaUPnP/Models/UPPMediaItemArtwork.m b/CocoaUPnP/UPPMediaItemArtwork.m
similarity index 100%
rename from CocoaUPnP/Models/UPPMediaItemArtwork.m
rename to CocoaUPnP/UPPMediaItemArtwork.m
diff --git a/CocoaUPnP/Parsers/UPPMediaItemParser.h b/CocoaUPnP/UPPMediaItemParser.h
similarity index 100%
rename from CocoaUPnP/Parsers/UPPMediaItemParser.h
rename to CocoaUPnP/UPPMediaItemParser.h
diff --git a/CocoaUPnP/Parsers/UPPMediaItemParser.m b/CocoaUPnP/UPPMediaItemParser.m
similarity index 99%
rename from CocoaUPnP/Parsers/UPPMediaItemParser.m
rename to CocoaUPnP/UPPMediaItemParser.m
index ee8cff3..d8ff2fc 100644
--- a/CocoaUPnP/Parsers/UPPMediaItemParser.m
+++ b/CocoaUPnP/UPPMediaItemParser.m
@@ -2,7 +2,7 @@
// Copyright 2015 Arcam. See LICENSE file.
#import "UPPMediaItemParser.h"
-#import "Ono.h"
+@import Ono;
#import "UPPMediaItem.h"
#import "UPPMediaItemResource.h"
#import "UPPError.h"
diff --git a/CocoaUPnP/Protocols/UPPMediaItemProtocol.h b/CocoaUPnP/UPPMediaItemProtocol.h
similarity index 100%
rename from CocoaUPnP/Protocols/UPPMediaItemProtocol.h
rename to CocoaUPnP/UPPMediaItemProtocol.h
diff --git a/CocoaUPnP/Models/UPPMediaItemResource.h b/CocoaUPnP/UPPMediaItemResource.h
similarity index 100%
rename from CocoaUPnP/Models/UPPMediaItemResource.h
rename to CocoaUPnP/UPPMediaItemResource.h
diff --git a/CocoaUPnP/Models/UPPMediaItemResource.m b/CocoaUPnP/UPPMediaItemResource.m
similarity index 100%
rename from CocoaUPnP/Models/UPPMediaItemResource.m
rename to CocoaUPnP/UPPMediaItemResource.m
diff --git a/CocoaUPnP/Models/UPPMediaRendererDevice.h b/CocoaUPnP/UPPMediaRendererDevice.h
similarity index 100%
rename from CocoaUPnP/Models/UPPMediaRendererDevice.h
rename to CocoaUPnP/UPPMediaRendererDevice.h
diff --git a/CocoaUPnP/Models/UPPMediaRendererDevice.m b/CocoaUPnP/UPPMediaRendererDevice.m
similarity index 100%
rename from CocoaUPnP/Models/UPPMediaRendererDevice.m
rename to CocoaUPnP/UPPMediaRendererDevice.m
diff --git a/CocoaUPnP/Models/UPPMediaServerDevice.h b/CocoaUPnP/UPPMediaServerDevice.h
similarity index 100%
rename from CocoaUPnP/Models/UPPMediaServerDevice.h
rename to CocoaUPnP/UPPMediaServerDevice.h
diff --git a/CocoaUPnP/Models/UPPMediaServerDevice.m b/CocoaUPnP/UPPMediaServerDevice.m
similarity index 100%
rename from CocoaUPnP/Models/UPPMediaServerDevice.m
rename to CocoaUPnP/UPPMediaServerDevice.m
diff --git a/CocoaUPnP/Helpers/UPPMetadataHelper.h b/CocoaUPnP/UPPMetadataHelper.h
similarity index 100%
rename from CocoaUPnP/Helpers/UPPMetadataHelper.h
rename to CocoaUPnP/UPPMetadataHelper.h
diff --git a/CocoaUPnP/Helpers/UPPMetadataHelper.m b/CocoaUPnP/UPPMetadataHelper.m
similarity index 100%
rename from CocoaUPnP/Helpers/UPPMetadataHelper.m
rename to CocoaUPnP/UPPMetadataHelper.m
diff --git a/CocoaUPnP/Models/UPPParameters.h b/CocoaUPnP/UPPParameters.h
similarity index 100%
rename from CocoaUPnP/Models/UPPParameters.h
rename to CocoaUPnP/UPPParameters.h
diff --git a/CocoaUPnP/Models/UPPParameters.m b/CocoaUPnP/UPPParameters.m
similarity index 100%
rename from CocoaUPnP/Models/UPPParameters.m
rename to CocoaUPnP/UPPParameters.m
diff --git a/CocoaUPnP/Services/UPPRenderingControlService.h b/CocoaUPnP/UPPRenderingControlService.h
similarity index 100%
rename from CocoaUPnP/Services/UPPRenderingControlService.h
rename to CocoaUPnP/UPPRenderingControlService.h
diff --git a/CocoaUPnP/Services/UPPRenderingControlService.m b/CocoaUPnP/UPPRenderingControlService.m
similarity index 100%
rename from CocoaUPnP/Services/UPPRenderingControlService.m
rename to CocoaUPnP/UPPRenderingControlService.m
diff --git a/CocoaUPnP/Networking/UPPRequestSerializer.h b/CocoaUPnP/UPPRequestSerializer.h
similarity index 82%
rename from CocoaUPnP/Networking/UPPRequestSerializer.h
rename to CocoaUPnP/UPPRequestSerializer.h
index 5ab31bf..4f59684 100644
--- a/CocoaUPnP/Networking/UPPRequestSerializer.h
+++ b/CocoaUPnP/UPPRequestSerializer.h
@@ -1,7 +1,7 @@
// CocoaUPnP by A&R Cambridge Ltd, http://www.arcam.co.uk
// Copyright 2015 Arcam. See LICENSE file.
-#import
+@import AFNetworking;
/**
This class serves as a base class for serialising SOAP requests
diff --git a/CocoaUPnP/Networking/UPPRequestSerializer.m b/CocoaUPnP/UPPRequestSerializer.m
similarity index 100%
rename from CocoaUPnP/Networking/UPPRequestSerializer.m
rename to CocoaUPnP/UPPRequestSerializer.m
diff --git a/CocoaUPnP/Parsers/UPPResponseParser.h b/CocoaUPnP/UPPResponseParser.h
similarity index 100%
rename from CocoaUPnP/Parsers/UPPResponseParser.h
rename to CocoaUPnP/UPPResponseParser.h
diff --git a/CocoaUPnP/Parsers/UPPResponseParser.m b/CocoaUPnP/UPPResponseParser.m
similarity index 99%
rename from CocoaUPnP/Parsers/UPPResponseParser.m
rename to CocoaUPnP/UPPResponseParser.m
index f756633..2c36b09 100644
--- a/CocoaUPnP/Parsers/UPPResponseParser.m
+++ b/CocoaUPnP/UPPResponseParser.m
@@ -2,7 +2,7 @@
// Copyright 2015 Arcam. See LICENSE file.
#import "UPPResponseParser.h"
-#import "Ono.h"
+@import Ono;
#import "UPPError.h"
#import "UPPMediaItemParser.h"
diff --git a/CocoaUPnP/Networking/UPPResponseSerializer.h b/CocoaUPnP/UPPResponseSerializer.h
similarity index 84%
rename from CocoaUPnP/Networking/UPPResponseSerializer.h
rename to CocoaUPnP/UPPResponseSerializer.h
index bd8a8b5..d23de83 100644
--- a/CocoaUPnP/Networking/UPPResponseSerializer.h
+++ b/CocoaUPnP/UPPResponseSerializer.h
@@ -1,7 +1,7 @@
// CocoaUPnP by A&R Cambridge Ltd, http://www.arcam.co.uk
// Copyright 2015 Arcam. See LICENSE file.
-#import
+@import AFNetworking;
@class UPPResponseParser;
diff --git a/CocoaUPnP/Networking/UPPResponseSerializer.m b/CocoaUPnP/UPPResponseSerializer.m
similarity index 100%
rename from CocoaUPnP/Networking/UPPResponseSerializer.m
rename to CocoaUPnP/UPPResponseSerializer.m
diff --git a/CocoaUPnP/Models/UPPServiceDescription.h b/CocoaUPnP/UPPServiceDescription.h
similarity index 100%
rename from CocoaUPnP/Models/UPPServiceDescription.h
rename to CocoaUPnP/UPPServiceDescription.h
diff --git a/CocoaUPnP/Models/UPPServiceDescription.m b/CocoaUPnP/UPPServiceDescription.m
similarity index 100%
rename from CocoaUPnP/Models/UPPServiceDescription.m
rename to CocoaUPnP/UPPServiceDescription.m
diff --git a/CocoaUPnP/Networking/UPPSessionManager.h b/CocoaUPnP/UPPSessionManager.h
similarity index 77%
rename from CocoaUPnP/Networking/UPPSessionManager.h
rename to CocoaUPnP/UPPSessionManager.h
index 0ece1bd..e66206d 100644
--- a/CocoaUPnP/Networking/UPPSessionManager.h
+++ b/CocoaUPnP/UPPSessionManager.h
@@ -1,7 +1,7 @@
// CocoaUPnP by A&R Cambridge Ltd, http://www.arcam.co.uk
// Copyright 2015 Arcam. See LICENSE file.
-#import
+@import AFNetworking;
@interface UPPSessionManager : AFHTTPSessionManager
diff --git a/CocoaUPnP/Networking/UPPSessionManager.m b/CocoaUPnP/UPPSessionManager.m
similarity index 100%
rename from CocoaUPnP/Networking/UPPSessionManager.m
rename to CocoaUPnP/UPPSessionManager.m
diff --git a/CocoaUPnPTests/Events/UPPEventServerSpec.m b/CocoaUPnPTests/Events/UPPEventServerSpec.m
index 77ff031..8e3e2bf 100644
--- a/CocoaUPnPTests/Events/UPPEventServerSpec.m
+++ b/CocoaUPnPTests/Events/UPPEventServerSpec.m
@@ -3,9 +3,7 @@
#import
#import
-#import
-#import
-#import
+@import GCDWebServers;
#import "TestHelpers.h"
SpecBegin(UPPEventServer)
diff --git a/CocoaUPnPTests/Parsers/UPPMediaItemParserSpec.m b/CocoaUPnPTests/Parsers/UPPMediaItemParserSpec.m
index dc3e82d..c6587ef 100644
--- a/CocoaUPnPTests/Parsers/UPPMediaItemParserSpec.m
+++ b/CocoaUPnPTests/Parsers/UPPMediaItemParserSpec.m
@@ -3,7 +3,7 @@
#import "Specta.h"
#import
-#import
+@import Ono;
SpecBegin(UPPMediaItemParser)
diff --git a/Package.resolved b/Package.resolved
new file mode 100644
index 0000000..824477a
--- /dev/null
+++ b/Package.resolved
@@ -0,0 +1,43 @@
+{
+ "object": {
+ "pins": [
+ {
+ "package": "AFNetworking",
+ "repositoryURL": "https://github.com/AFNetworking/AFNetworking.git",
+ "state": {
+ "branch": null,
+ "revision": "ffae2391ab0c29dc88eb0a58d2f5b2c2c27cadbf",
+ "version": "4.0.1"
+ }
+ },
+ {
+ "package": "CocoaAsyncSocket",
+ "repositoryURL": "https://github.com/robbiehanson/CocoaAsyncSocket.git",
+ "state": {
+ "branch": null,
+ "revision": "dbdc00669c1ced63b27c3c5f052ee4d28f10150c",
+ "version": "7.6.5"
+ }
+ },
+ {
+ "package": "GCDWebServers",
+ "repositoryURL": "https://github.com/nostradani/GCDWebServer.git",
+ "state": {
+ "branch": "master",
+ "revision": "16bbfa795eef8c8c0715e49ab3ea75d816907661",
+ "version": null
+ }
+ },
+ {
+ "package": "Ono",
+ "repositoryURL": "https://github.com/jay18001/Ono.git",
+ "state": {
+ "branch": "master",
+ "revision": "d744f5387cc669960e1562cff84c6cea02608572",
+ "version": null
+ }
+ }
+ ]
+ },
+ "version": 1
+}
diff --git a/Package.swift b/Package.swift
new file mode 100644
index 0000000..28cb6b3
--- /dev/null
+++ b/Package.swift
@@ -0,0 +1,34 @@
+// swift-tools-version:5.4
+import PackageDescription
+
+let package = Package(
+ name: "CocoaUPnP",
+ platforms: [.tvOS(.v12), .iOS(.v12)],
+ products: [.library(name: "CocoaUPnP", targets: ["CocoaUPnP"])],
+ dependencies: [
+ // A delightful networking framework for iOS, macOS, watchOS, and tvOS.
+ .package(name: "AFNetworking", url: "https://github.com/AFNetworking/AFNetworking.git", .upToNextMajor(from: "4.0.1")),
+
+ // Asynchronous socket networking library for Mac and iOS
+ .package(name: "CocoaAsyncSocket", url: "https://github.com/robbiehanson/CocoaAsyncSocket.git", .upToNextMajor(from: "7.6.5")),
+
+ // The #1 HTTP server for iOS, macOS & tvOS (also includes web based uploader & WebDAV server)
+ .package(name: "GCDWebServers", url: "https://github.com/nostradani/GCDWebServer.git", .branch("master")),
+
+ // A sensible way to deal with XML & HTML for iOS & macOS
+ .package(name: "Ono", url: "https://github.com/jay18001/Ono.git", .branch("master")),
+ ],
+ targets: [
+ .target(
+ name: "CocoaUPnP",
+ dependencies: [
+ "AFNetworking",
+ "CocoaAsyncSocket",
+ "GCDWebServers",
+ "Ono",
+ ],
+ path: "CocoaUPnP",
+ publicHeadersPath: ""
+ ),
+ ]
+)