A colossal Dreamer: GR鐵塔-天生我材

WWDC 2015 - Platforms State of the Union 본문

Development/WWDC

WWDC 2015 - Platforms State of the Union

江多林 2015. 6. 17. 17:44

WWDC 2015 Platforms State of the Union

Platform states of the Union

Platforms: iOS9, OSX, WatchOS2

- 네이티브에 올려서 해볼 수 있음. 공짜로
- 개발프로그램멤버십 통합
- iOS8 83% 설치됨
- iOS9 업데이트 필요용량 축소 1.3GB
    - 나중에 설치하기 기능 ㅋ~

App Thinning 앱 저장공간 관련 개선

- AppSlicing - FatBinary, Asset 에서 필요한 부분만 쪼기는 기능
- OnDemandResource - 애플에서 필요시 다운받을 리소스
    - 개당 최대 2GB 로 구성된 세트로 구성
    - 세트 최대 개수는 제한이 없으며,
    - AppStore 에 호스팅되어 짐
        - Xcode 에서는 Xcode에 호스팅되고,
        - Xcode CI 에서는 해당 서버에 호스팅됨.
- BitCode - 필요한 것만 조합해서 AppStore 에서 다운로드
  • WatchOS2

    • 워치에서 native 코드 실행됨
    • 아이폰이 멀리 떨어져 있어도 NSURLSession 통신 동작

    • Watch App 의 구현체

      • Complications - 첫 화면/ 타임라인 제공됨 
        • 푸시노티, 백그라운드로 로칼데이터 갱신가능
        • 용두를 돌려서 TimeLine 훑어보기 제공
        • 동시에 노출된 다른 Complications 와도 시간이 싱크된다.
      • Grances - 훑어보기/ 훑어보기 적절한 구성으로 제공하기
      • Notification - 노티 선택동작, 전용 UI구성 가능
      • Full App - 워치앱 익스텐션의 전체 기능 제공하기
  • 기타기술

    • 새로운 압축알고리즘 - lzfse
    • Low Power Mode
    • Two-factor authentication
    • 숫자비번 6자리로 확장 가능
    • 앱에서 NSURLSession - tls1.2 사용하도록 강제 
      • http 로 통신하려면, info.plist 에 도메인 추가해야함
      • 추가적으로 NSURLSession 한정 제한인지 확인이 필요함
    • IPv6

      • IPv6 only 네트워크 늘어남 iOS4.0 부터 지원중
      • iOS9 부터는 IPv6 지원 리뷰 가이드라인 제공될 듯.
      • IPv4 하드코딩 없으면 문제 없을 듯.
    • 국제화

      • 날짜, 시간…
      • NSPersonNameComponentsFormatter 
        • 아시아와 미주유럽 권의 상이한 이름형식 포멧팅 제공
      • 아랍어 좌우대응 - 화면 레이아웃까지 좌우 뒤집어줌 
        • AutoLayout 적용하는 것만으로 가능한 듯.
        • 단, leading, trailing guide line 사용시
    • * Universal links * - 앱간의 전환 및 돌아가기 기능

      • register app links
      • NSUserActivity 
        application:continueUserActivity:restorationHandler:
  • HomeKit

    • Notification
    • 개별 관리 Settings 제공 
      • Event/ Push/ ManageUser
  • Search

    • App Search
    • App Suggestions - NSUserActivity
  • Multitasking

    • DynamicType: Auto layout/ Size Classes
    • Adopt adaptiveUI
    • Use a launch storyboard
    • Support all orientations
  • ForceTouch

  • iCloud

    • iCloudDrive 
      • LSSupportsOpeningDocumentsInPlace : didFinishLaunch ?
    • CloudKit 
      • 1PB-Assets
      • 10TB-Database
      • 200TB/day-Assets
      • 400 req/sec
      • JS library

Swift

- 성능개선
- ErrorHandling
    - cleanup code
    - implicit control flow
    - accidentally ignored errors
    - ErrorType enum 으로 Error.Code 정의
- AvailabilityChecking
    - if #available(...) {
    - @available(...)
- FluentInterfaces - 콜렉션처리 함수기반->메소드로
- EarlyExits - guard let x = x else { return }
- Swift-er SDK - ObjC기반 Generic
- Header File View
  • PlayGround

    • Rich Comments in Playgrounds
    • Multiple pages
    • Rich text comments
    • Inline results
    • Supporting source files
    • Embedded resources
  • InterfaceBuilder 
    StackView 
    StoryBoard References

  • On Demand Resource Tags

    • Level-1/ Level-2
    • Xcode-CI 로 빌드하면, OnDemandRes Server로 구동됨
    • Xcode 로 실행시에는 Xcode 가 OnDemainRes Server 제공함
  • Xcode Debugging Instruments 개선

    • AddressSanitizer - 주소 침범을 모니터링해주는 것 같음
    • CrashLog 보기 - Xcode에서 코드위치까지 연결함

Testing Tab

- API/ Performance/ Synchronous/ Asynchronous
- UserInterface Testing
- CodeCoverage
- Testing Example - DemoBots
- CodeCoverage - Record UserInteraction
    - 무시무시 -_-
  • Games and Graphics - 잘 몰라서 타이틀만…

    • Metal
    • Model I/O
    • GameplayKit
    • ReplayKit
  • Conclusion

    • Game
    • App Thining
    • Swift
    • Xcode
    • TestFlight 에서는 가능할 듯.


'Development > WWDC' 카테고리의 다른 글

ML on WWDC2018 Platform Status of Unions, Keynote  (0) 2018.06.08
WWDC 2015 - 참관기 요약  (0) 2015.06.17