Xcode playgrounds can't access swift files in Sources folder
You have to add public access attribute to your classes, methods and properties in source folder to make them accessible from main playground file as they treated as separate module by compiler
Can Swift playgrounds see other source files in the same project?
They cannot. Playgrounds are self-contained. This will hopefully change in the future.
Edit: As of Xcode 6.3, Playgrounds can now contain supporting code. They still cannot see other code in the same project, but code can be added to the support folder of a Playground that can be used from within the playground. See the Swift blog for more info.
Sources referencing each other in XCode Playgrounds
Add the public
attribute to the classes, methods, and properties that you want to access in other playgrounds. This should solve your problem:
You have to add public access attribute to your classes, methods and properties in source folder to make them accessible from main playground file as they treated as separate module by compiler
Update:
I found this thread, which although is not on this topic specifically I believe answers the question, here is what the accepted answer says:
They cannot. Playgrounds are self-contained. This will hopefully change in the future.
Edit: As of Xcode 6.3, Playgrounds can now contain supporting code. They still cannot see other code in the same project, but code can be added to the support folder of a Playground that can be used from within the playground. See the Swift blog for more info.
So, as I said before, thing is the sources folder can be accessed, but not thing in other playgrounds.
Xcode autocomplete does not work in Sources folder of Swift playgrounds
In order to enable autocompletion, you can embed your Playground in a regular Xcode project (e.g. an iOS application). I recommend creating a dummy project for that purpose. Simply drag and drop your playground in this dummy project and make sure to check "Add to target".
Then you can navigate to
Target -> Build Phases -> Compile Sources -> + -> Add other
and add all the files from your source folder. Please note, that you don't need to actually copy the files, a reference is enough for this purpose.
After this process all your source files are built against this dummy target and you can use autocompletion as usual. As far as I know, this is the best practice for debugging Playgrounds right now. Anyway I am curious, if there is an easier way to achieve that.
How to add a framework to a file in the Sources folder of Xcode Playground?
So I solved this by adding the framework in the "Resources" folder of the Playground. It works now!
Related Topics
Programmatically Disabling Screenshot in App
Why Swift Closure Not Capture Self
Swiftui - in Sheet Have a Fixed Continue Button That Is Not Scrollable
Add Skreferencenode/Skscene to Another Skscene in Spritekit
Fatal Error: Array Index Out of Range in Swift Xcode6
How to Request a Desktop Version of a Webpage Using Uiwebview in Swift 3.0
Declaring and Using Custom Attributes in Swift
Swift 2: !, ? -" Value of Optional Type "..." Not Unwrapped"
How to Get Iobluetoothdevice's Battery Level, Using Swift and Appkit (Xcode for MACos)
iOS 13: Threading Violation: Expected the Main Thread
Mutating Function Inside Class
Show Nsmenu Only on Nsstatusbarbutton Right Click
Cannot Invoke 'Filter' with an Argument List of Type '((_) -> _)'
Swift Enum Raw Value: Not Working with Cgfloat = -1.0
Is There a Daylight Savings Check in Swift
Difference Between Type Method and Type Instance Method, etc