16. CocoaPods 로 배포하던 SmartEditor 3.0
Swift 도입 후, 수많은 빨간색 느낌표를 만나게 되다.
17. Library
• a set of routines, external functions and variables
• static library (statically-linked library)
• dynamic library (shared library)
• frameworks (static, dynamic)
18. static library
• packaged into the code of the main executable
• linked at compile time
• only code
• images/assets/header files은 따로 배포
• 같은 Library 일지라도 실행파일별로 메모리에 로드
20. dynamic library
• linked at runtime
• shared amongst multiple processes
• OS X :".dylib"
• Windows : ".dll"
• iOS에서는 일반적으로 지원하지 않는다.
23. • malicious code executing by a hacker
• unapproved features to an approved app.
• you could download and load it.
24. It's not a technical limitation,
but an App Store Policy limitation.
25. Frameworks
• a collection of code and resources to encapsulate
functionality
• Libraries only has executable code
• a framework is a bundle (Directory structure)
• dynamic libraries, headers and other resources.
27. (static) Frameworks
• Before iOS8, only allowed static libraries for iOS.
• the idea of creating 'static frameworks'.
• static libraries with the convenience of bundling the
headers files along.
28. "iOS developers can now create dynamic
frameworks."
- New Features in Xcode 6, by Apple
33. • Swift standard runtime libraries 가 iOS에 비포함.
• App 빌드시점에 App Bundle에 runtime library를
복사
• Swift를 포함한 앱은 Objective-C Only 앱보다 용량
이 큰 이유
• runtime library가 없거나 버전이 다르면 Swift 를 포
함한 Framworks는 문제가 발생
35. - CocoaPods 0.36 - Framework and Swift Support
"frameworks instead of static libraries by
specifying use_frameworks!"
38. 네이버로그인 라이브러리
• static library를 포함하여 배포 중으로 frameworks로 전
환이 불가능
• 서비스앱 (블로그, 포스트) 프로젝트에 수작업으로 static
Library와 UI코드/리소스를 추가
• SmartEditor 3.0에서는 delegate를 통해 로그인 모듈 접
근
39. Frameworks Bundle
• SmartEditor 3.0 에 포함되어 있는 리소스는 MainBundle이
아닌 Frameworkd Bundle에 존재
• + (NSBundle *)bundleForClass:(Class)aClass 를 통해
Framework Bundle에 접근
• [UIImage imageNamed:@""] 는 Main Bundle의 리소를
가져오도록 되어 있어 SEImage Class를 새로 만듬.