Objective-C package can't find header file

I made it work without altering your directory structure by changing the following:

diff --git a/MyTest/MyPublicClass.h b/MyTest/MyPublicClass.h
index 09a33ba..4a82b63 100644
--- a/MyTest/MyPublicClass.h
+++ b/MyTest/MyPublicClass.h
@@ -7,7 +7,11 @@
 //
 
 #import <Foundation/Foundation.h>
+#ifdef SWIFT_PACKAGE
+#import "Internals/MyPrivateClass.h"
+#else
 #import "MyPrivateClass.h"
+#endif
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/MyTestSDK/MyTestSDK.h b/MyTestSDK/MyTestSDK.h
index 19de043..462c8c5 100644
--- a/MyTestSDK/MyTestSDK.h
+++ b/MyTestSDK/MyTestSDK.h
@@ -16,5 +16,8 @@ FOUNDATION_EXPORT const unsigned char MyTestSDKVersionString[];
 
 // In this header, you should import all the public headers of your framework using statements like #import <MyTestSDK/PublicHeader.h>
 
-
+#ifdef SWIFT_PACKAGE
+#import "../MyTest/MyPublicClass.h"
+#else
 #import <MyTestSDK/MyPublicClass.h>
+#endif
diff --git a/Package.swift b/Package.swift
index 49141eb..a226201 100644
--- a/Package.swift
+++ b/Package.swift
@@ -10,6 +10,12 @@ let package = Package(
         .library(name: "MyTestSDK",  targets: ["Core"])
     ],
     targets: [
-        .target(name: "Core", path: "MyTest", publicHeadersPath: "MyTestSDK")
+        .target(name: "Core", path: "", sources: ["MyTest"], publicHeadersPath: "MyTestSDK"),
+        .target(
+          name: "SampleClient",
+          dependencies: ["Core"],
+          path: "SampleClient",
+          cSettings: [.define("SWIFT_PACKAGE")]
+        )
     ]
 )
diff --git a/SampleClient/main.swift b/SampleClient/main.swift
new file mode 100644
index 0000000..512b47b
--- /dev/null
+++ b/SampleClient/main.swift
@@ -0,0 +1,3 @@
+import Core
+
+print(MyPublicClass())

However, unless you have a very good reason not to, it will probably be more convenient to rearrange the files so that SwiftPM and any other build systems you need to support can use the same import paths without any #ifdef statements.