Tips and tricks for using Moya in a flexible manner. Recording stubs, auth token problems and some history included.
NETWORKINGIN SWIFTFLEXIBLEsunshinejrthesunshinejr
View Slide
Before Swift After WWDC’14NETWORKING TIMELINEWWDC 20142+
BEFORE SWIFT 3
NSURLCONNECTIONAFNETWORKINGNSURLSESSION4
5
WITH SWIFT 6
NSURLSESSIONALAMOFIREMOYA?7
MOYA8https://github.com/Moya/Moya
9
EASY TESTING+FLEXIBILITY+OPTIONAL=+COMMUNITY10
BASIC SETUP - TARGET+11
BASIC SETUP - RUN!12
MOYA+MAPPERSMOYA-OBJECTMAPPERMOYA-SWIFTYJSONMAPPERMOYA-ARGOMOYA-MODELMAPPERMOYA-GLOSSMOYA-JASON13
TIME FOR FLEXIN’14
PROBLEM 1:PASSING AUTH TOKEN 15
+16
PROBLEM 2:PASSING AUTH TOKEN … BUT SOMETIMES IN HEADERS … AND SOMETIMES IN PARAMETERS … AND SOMETIMES DON’T SEND IT AT ALL … AND SOMETIMES SEND GUEST TOKEN 17
++19
+20
PROBLEM 3:API WITHOUT API 22
SOLUTION:STUBSSTUBS RECORDING+(warning: works only for simulator)23
1. BASH SCRIPT24
2. RECORDING PLUGIN25
3. STUBBABLE TARGET TYPE26
4. CONFORM TO NEW TARGET TYPE27
5. ADD PLUGIN TO MOYA PROVIDEROR28
QUESTIONS?https://github.com/sunshinejr/FlexibleMoyaCode from slides at:More examples:https://github.com/Moya/Moya/tree/master/docs/ExamplesMy Moya + RxSwift Networking tutorial:http://www.thedroidsonroids.com/blog/ios/rxswift-examples-3-networking/sunshinejrthesunshinejr