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
380
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
💥 Custom Playgrounds 🎯
Talk on using your own frameworks inside Xcode Playgrounds, given at NSLondon, June 2014.
Boris Bügling
June 26, 2014
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
360
Cross-platform Swift
neonichu
3
960
Swift Package Manager
neonichu
2
380
Swift Package Manager
neonichu
0
86
📺
neonichu
0
2.1k
Cross-Platform Swift
neonichu
0
140
Swift Package Manager
neonichu
6
4.5k
Other Decks in Technology
See All in Technology
プロダクト思考 × 基盤思考を AIで実現する Compound Engineering
tkc66buzz
1
290
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
0
190
#jawssonic2026 あの時代が悪かった ~動かなかったSageMakerと共に迎えたイベント当日~
ktkn1129
0
140
enechainの内製セルフサービスプラットフォーム
hiyosi
0
140
Multica × 長期記憶:40個のミニプロジェクト管理
eiei114
1
200
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
1
210
V8コントリビュート超入門
riyaamemiya
0
150
AI時代に、プロダクトの数だけ積み上がる所有コストをどうエンジニアリングするか / Engineering the Cost of Ownership
kzkmaeda
1
1.1k
なぜSRE・セキュリティは評価されないのか?守りの組織を事業成長エンジンに変えた実践
cscengineer
PRO
3
2.3k
Amazon Quick on DesktopがIAM Identity Centerで動かない理由
yukiogawa
0
110
Bet AI Day 2026丨Production-Ready AI Agents — エンタープライズの実務を任せるための設計と運用
layerx
PRO
4
2.6k
AndroidでHDRメディアを「壊さずに」扱う
chigichan24
0
420
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
680
Design in an AI World
tapps
1
310
Become a Pro
speakerdeck
PRO
31
6.2k
First, design no harm
axbom
PRO
2
1.3k
Documentation Writing (for coders)
carmenintech
77
5.5k
Making the Leap to Tech Lead
cromwellryan
135
10k
Embracing the Ebb and Flow
colly
88
5.2k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Making Projects Easy
brettharned
120
6.7k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
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