Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
💥 Custom Playgrounds 🎯
Search
Boris Bügling
June 26, 2014
Technology
1
360
💥 Custom Playgrounds 🎯
Talk on using your own frameworks inside Xcode Playgrounds, given at NSLondon, June 2014.
Boris Bügling
June 26, 2014
Tweet
Share
More Decks by Boris Bügling
See All by Boris Bügling
Testing ⌚️ Apps and Other Extensions
neonichu
1
4.7k
Cross-platform Swift
neonichu
4
18k
Building better API clients in Swift
neonichu
1
320
Cross-platform Swift
neonichu
3
940
Swift Package Manager
neonichu
2
350
Swift Package Manager
neonichu
0
69
📺
neonichu
0
2k
Cross-Platform Swift
neonichu
0
110
Swift Package Manager
neonichu
6
4.4k
Other Decks in Technology
See All in Technology
いよいよ仕事を奪われそうな波が来たぜ
kazzpapa3
3
290
Web Intelligence and Visual Media Analytics
weblyzard
PRO
1
6.8k
The Engineer with a Three-Year Cycle - 2
e99h2121
0
200
MySQLのJSON機能の活用術
ikomachi226
0
100
Claude Codeベストプラクティスまとめ
minorun365
51
29k
Werner Vogelsが14年間 問い続けてきたこと
yusukeshimizu
2
250
re:Inventで出たインフラエンジニアが嬉しかったアップデート
nagisa53
4
220
AI推進者の視点で見る、Bill OneのAI活用の今
sansantech
PRO
1
230
【NGK2026S】日本株のシステムトレードに入門してみた
kazuhitotakahashi
0
190
最速で価値を出すための プロダクトエンジニアのツッコミ術
kaacun
1
360
メルカリのAI活用を支えるAIセキュリティ
s3h
7
5.1k
ドキュメントからはじめる未来のソフトウェア
pkshadeck
4
2k
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
43
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Ethics towards AI in product and experience design
skipperchong
2
180
How Software Deployment tools have changed in the past 20 years
geshan
0
31k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
GitHub's CSS Performance
jonrohan
1032
470k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
200
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.9k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
48
Transcript
! CUSTOM PLAYGROUNDS " NSLONDON, JUNE 2014 BORIS BÜGLING -
@NEONACHO
None
COCOAPODS - CONTENTFUL
SWIFT?
SWIFT!
REPL
$ swift Welcome to Swift! Type :help for assistance. 1>
import ContentfulDeliveryAPI <REPL>:1:8: error: no such module 'ContentfulDeliveryAPI' import ContentfulDeliveryAPI ^
Copy your framework over to /Applications/Xcode6-Beta2.app/ Contents/Developer/Platforms/MacOSX.platform/Developer/ SDKs/MacOSX10.10.sdk/System/Library/Frameworks
1> import ContentfulDeliveryAPI 2> var client = CDAClient() client: CDAClient
= <extracting data from value failed> error: Couldn't lookup symbols: _OBJC_CLASS_$_CDAClient
LOAD THE DYNAMIC LIBRARY FROM YOUR FRAMEWORK USING dlopen()
3> var handle = dlopen("/Applications/.../Versions/A/ContentfulDeliveryAPI", 2) handle: COpaquePointer = Builtin.RawPointer
= 0x0000000102e2b6e0 -> 0x00007fff5fc37e50 vtable for ImageLoaderMachOCompressed + 16 4> var client = CDAClient() client: CDAClient = {}
SUCCESS
// Playground - noun: a place where people can play
None
None
24/06/14 01:00:00,780 Xcode[84816]: IDEPlaygroundExecutionSessionThread(pid=85188) IDEPlaygroundExecution: [PlaygroundSession <0x7fff12750c70>] Received error from
expr: error: error: Couldn't lookup symbols: _OBJC_CLASS_$_CDAClient
None
SAM MARSHALL
None
XCODE PLUGIN?
None
#import <IDELanguageSupportUI/IDEPlaygroundExecutionDeviceService.h> @interface IDELocalComputerPlaygroundExecutionDeviceService : IDEPlaygroundExecutionDeviceService + (id)capability; - (id)sessionForExecutingPlaygroundWithParameters:(id)arg1;
- (id)defaultStubPathForSDK:(id)arg1; @end
DVTPLAYGROUNDCOMMUNICATION.FRAMEWORK @interface DVTPlaygroundCommunicationListener @interface DVTPlaygroundCommunicationSender Uses TCP/IP on the local
machine to communicate between Xcode and Stub
None
None
None
None
None
DEMO
None
XCODE PLUGIN!
RELEVANT WWDC 2014 SESSIONS ▸ Session 408: Swift Playgrounds ▸
Session 409: Introduction to LLDB and the Swift REPL
LINKS ▸ http://samdmarshall.com/blog/ custom_frameworks_and_swift.html ▸ https://github.com/jas/swift-playground-builder ▸ http://stackoverflow.com/questions/24058336/how-do-i-run- asynchronous-callbacks-in-playground
THANK YOU!
HTTP://VU0.ORG/PLAYGROUNDS