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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
330
Cross-platform Swift
neonichu
3
960
Swift Package Manager
neonichu
2
360
Swift Package Manager
neonichu
0
80
📺
neonichu
0
2k
Cross-Platform Swift
neonichu
0
120
Swift Package Manager
neonichu
6
4.4k
Other Decks in Technology
See All in Technology
イベントで大活躍する電子ペーパー名札を作る(その2) 〜 M5PaperとM5PaperS3 〜 / IoTLT @ JLCPCB オープンハードカンファレンス
you
PRO
0
210
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
The Rise of Browser Automation: AI-Powered Web Interaction in 2026
marcthompson_seo
0
310
The essence of decision-making lies in primary data
kaminashi
0
120
データマネジメント戦略Night - 4社のリアルを語る会
ktatsuya
1
410
「お金で解決」が全てではない!大規模WebアプリのCI高速化 #phperkaigi
stefafafan
5
2.3k
スピンアウト講座01_GitHub管理
overflowinc
0
1.5k
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
76k
AI時代のIssue駆動開発のススメ
moongift
PRO
0
270
来期の評価で変えようと思っていること 〜AI時代に変わること・変わらないこと〜
estie
0
110
AWS Systems Managerのハイブリッドアクティベーションを使用したガバメントクラウド環境の統合管理
toru_kubota
1
170
Phase06_ClaudeCode実践
overflowinc
0
2.2k
Featured
See All Featured
Darren the Foodie - Storyboard
khoart
PRO
3
3k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
400
Rails Girls Zürich Keynote
gr2m
96
14k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
The Curse of the Amulet
leimatthew05
1
11k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
160
Building AI with AI
inesmontani
PRO
1
820
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Believing is Seeing
oripsolob
1
97
How to Talk to Developers About Accessibility
jct
2
160
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