2020年5月13日 星期三

Xcode 11以上與Xcode 10的差異



Xcode 11以上與Xcode 10的差異

Xcode 11開始的開發工具不管是新建立的專案或是整個UI介面都與Xcode 10系列有所差異,本篇就簡短的列出幾個不一樣的地方:

一. 專案架構
Xcode 11 開始新建專案時會多一個檔案(或兩個..看你是用Swift還是Objective C建立專案),就是SceneDelegate.swift(或是SceneDelegate.h, SceneDelegate.m),而這個檔案是用來作什麼的呢?以下就來說明一下:

1. 把之前在AppDelegate裡的applicationWillResignActive, applicationDidEnterBackground..等改到SceneDelegate裡面且名稱稍微有變,變成sceneDidEnterBackground, sceneWillResignActive..等,亦即原本AppDelegate全權處理App生命週期和UI生命週期變成只處理App生命週期,而UI生命週期則改為交由SceneDelegate負責,參考下圖:
                                                         Xcode 10 原先的模式


Xcode 11 以後的模式

SceneDelegate

2. AppDelegate裡面也拿掉了UIWindow *window的宣告改放到SceneDelegate裡面


二.  Xcode 工具的差異
Xcode 10系列的General裡面包含了signing,但在Xcode 11後是與Capabilities合併在一起

以上大致就是目前發現的差異的地方

沒有留言:

張貼留言

解決iOS 14上如果更換預設瀏覽器(例如從Safari換成Chrome)時, 用Scheme架構會無法回到上一頁的問題

 如果遇到以下問題時 須在Info裡的LSApplicationQueriesSchemes裡設定多增加https, 如下圖: