From 15031f84cb251ddea31da39aeabfffd2f6b97648 Mon Sep 17 00:00:00 2001 From: Soroush Khanlou Date: Mon, 4 Jul 2022 12:11:34 -0400 Subject: [PATCH 1/3] import FoundationNetworking as needed --- Sources/OpenGraph/Extension/URLSession.swift | 3 +++ Sources/OpenGraph/OpenGraph.swift | 3 +++ 2 files changed, 6 insertions(+) diff --git a/Sources/OpenGraph/Extension/URLSession.swift b/Sources/OpenGraph/Extension/URLSession.swift index 1197e90..0b1f52c 100644 --- a/Sources/OpenGraph/Extension/URLSession.swift +++ b/Sources/OpenGraph/Extension/URLSession.swift @@ -7,6 +7,9 @@ // import Foundation +#if canImport(FoundationNetworking) +import FoundationNetworking +#endif // Taken from John Sundell's [AsyncCompatibilityKit](https://github.com/JohnSundell/AsyncCompatibilityKit/blob/main/Sources/URLSession%2BAsync.swift) diff --git a/Sources/OpenGraph/OpenGraph.swift b/Sources/OpenGraph/OpenGraph.swift index 47d0033..e7a3dad 100644 --- a/Sources/OpenGraph/OpenGraph.swift +++ b/Sources/OpenGraph/OpenGraph.swift @@ -1,4 +1,7 @@ import Foundation +#if canImport(FoundationNetworking) +import FoundationNetworking +#endif public struct OpenGraph { From 915f15f27aafb3131af87b94ed8b1c378512a4be Mon Sep 17 00:00:00 2001 From: Soroush Khanlou Date: Mon, 4 Jul 2022 12:13:01 -0400 Subject: [PATCH 2/3] string encoding doesn't work on linux --- Sources/OpenGraph/Extension/Data.swift | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Sources/OpenGraph/Extension/Data.swift b/Sources/OpenGraph/Extension/Data.swift index 0777c06..04b11fb 100644 --- a/Sources/OpenGraph/Extension/Data.swift +++ b/Sources/OpenGraph/Extension/Data.swift @@ -11,8 +11,12 @@ import Foundation extension Data { @available(macOS 10.10, *) var stringEncoding: String.Encoding? { - var nsString: NSString? - guard case let rawValue = NSString.stringEncoding(for: self, encodingOptions: nil, convertedString: &nsString, usedLossyConversion: nil), rawValue != 0 else { return nil } - return String.Encoding(rawValue: rawValue) - } +#if os(Linux) + var nsString: NSString? + guard case let rawValue = NSString.stringEncoding(for: self, encodingOptions: nil, convertedString: &nsString, usedLossyConversion: nil), rawValue != 0 else { return nil } + return String.Encoding(rawValue: rawValue) +#else + return nil +#endif + } } From be1b3408eae4665234aea449518a8027b49ecabe Mon Sep 17 00:00:00 2001 From: Soroush Khanlou Date: Mon, 4 Jul 2022 12:19:40 -0400 Subject: [PATCH 3/3] fix bug --- Sources/OpenGraph/Extension/Data.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/OpenGraph/Extension/Data.swift b/Sources/OpenGraph/Extension/Data.swift index 04b11fb..7d2e04d 100644 --- a/Sources/OpenGraph/Extension/Data.swift +++ b/Sources/OpenGraph/Extension/Data.swift @@ -12,11 +12,11 @@ extension Data { @available(macOS 10.10, *) var stringEncoding: String.Encoding? { #if os(Linux) + return nil +#else var nsString: NSString? guard case let rawValue = NSString.stringEncoding(for: self, encodingOptions: nil, convertedString: &nsString, usedLossyConversion: nil), rawValue != 0 else { return nil } return String.Encoding(rawValue: rawValue) -#else - return nil #endif } }