直接看原文鏈接:http://www.jianshu.com/p/9b3e5111924f
https://code.tutsplus.com/zh-hans/articles/whats-new-in-xcode⑻--cms⑵6799【xcode里的新東西】
在每次升級 后,難免會有1些莫名的 Bug 產生,在此記錄著,以便快速解決。
1、快捷鍵不靈
像我最經常使用的 注釋 "Command" + "/" 竟然不管用啦
It means you could just use the shortcut (? Option + ? Command + /) to add a documentation comment to your code if you are using Xcode 8 or above!
啟動終端輸入下面這句話,然后重啟電腦就好啦
~ sudo /usr/libexec/xpccachectl
但還好,大部份的快捷都還是OK的。
2、摹擬器的選項不見了
很奇怪的感覺,公司的電腦更新沒有出現這個問題,回來后個人電腦出現啦。
1個最直接的方法,手動添加。直接到 Windows --> Devices, 看到左下角添加摹擬器。
上述這個方法是應急用的。
3、打印時出現1大堆信息
1堆很奇怪的信息,暫時也不知甚么情況。
2016-09-14 23:37:22.522261 TestXcode8[6606:870004] subsystem: com.apple.UIKit, category: HIDEventFiltered, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0
2016-09-14 23:37:22.525813 TestXcode8[6606:870004] subsystem: com.apple.UIKit, category: HIDEventIncoming, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0
2016-09-14 23:37:22.538153 TestXcode8[6606:869999] subsystem: com.apple.BaseBoard, category: MachPort, enable_level: 1, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0, enable_private_data: 0
2016-09-14 23:37:22.559243 TestXcode8[6606:869878] subsystem: com.apple.UIKit, category: StatusBar, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0
在 Edit Scheme 中 ,如上圖設置 OS_ACTIVITY_MODE
: disable
, 然后就 OK 啦。參考
stackoverflow hide-xcode⑻-logs
4、插件失效
Xcode 8 uses library validation. It won't load in-process plugins anymore.
這個是由于蘋果已重置插件這塊,但有部份優秀的插件已內置在Xcode了,整體來講,對我影響其實不是那末大。
自己還沒有嘗試過, 由于聽說不是持久的解決方案,有需要和興趣再嘗試吧!
5、隱藏狀態欄的功能壞掉了
升級到 iOS 10.0后,在查看全屏圖片的時候,需要在 Present 之前給要 present 的 view controller 設置 modalPresentationCapturesStatusBarAppearance = true。然后就好啦
TestViewController *testVC = [[TestViewController alloc] init];
testVC.modalPresentationCapturesStatusBarAppearance = true;
[self presentViewController:testVC animated:YES completion:nil];
6、推送不好使
Xcode 8 后,推送可能出現莫名的bug , 但其中有1點可以看看這個開關是不是打開,1定要記得打開!
另外通知從手機上看確切在 iOS 10 改變了好多,更好用啦;而我還是先搜集下相干資源:
7、私有權限設置
由于iOS10對 Security and Privacy Enhancements
安全和保密性增強,在申請很多私有權限時,都需要添加描寫,不添加會crash。 所以我們需要在info plist 中添加描寫信息。
NSBluetoothPeripheralUsageDescription //訪問藍牙
NSCalendarsUsageDescription //訪問日歷
NSCameraUsageDescription //相機
NSContactsUsageDescription //通訊錄
NSHealthShareUsageDescription // 訪問健康分享
NSHealthUpdateUsageDescription // 訪問健康更新
NSHomeKitUsageDescription //HomeKit
NSLocationAlwaysUsageDescription // 始終訪問位置
NSLocationWhenInUseUsageDescription //在使用期間訪問位置
NSMicrophoneUsageDescription // 麥克風
NSMotionUsageDescription // 訪問運動與健身
NSPhotoLibraryUsageDescription // 相冊
NSRemindersUsageDescription // 訪問提示事項
NSSiriUsageDescription // Siri
NSSpeechRecognitionUsageDescription //語音辨認
NSVideoSubscriberAccountUsageDescription // 視頻這塊的認證
NSVoIPUsageDescription // VoIP通話
例如我們經常使用的相機和相冊:
<key>NSCameraUsageDescription</key>
<string>允許使用相機</string>
// <string> Allows the use of the camera</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>允許訪問相冊</string>
// <string>Allow access to the photo album</string>
填的string會在彈出用戶允許時展現在描寫里,如果描寫空著提交AppStore時會被謝絕。
8、UILabel 長度問題
在動態計算1段文字的高度時,計算出來的高度在iOS10裝備上不足以容納這段文字,所以致使 UILabel 上顯示不全的的問題
由于iOS10更換了系統字體,所以會致使文字的大小跟iOS9及之前的系統有點區分,如果繼續用Xcode 7 編譯,建議長度基礎上加上 4⑸的距離,固然直接用 Xcode 8 編譯后適配更好!
另外英文是木有問題,此處只針對 中文 才會有顯示不全的情況。
陸續添加中...
filter
and 空白天志頁
重新顯示出來。下一篇 程序員易混淆的10個基礎概念