Xcode8的問題
注釋功能問題解決
打開終端,命令運行: sudo /usr/libexec/xpccachectl 重啟電腦
在xib和stroyboard出現大量警告,需要重新適配,字體所占用寬度變大
collectionView問題
屏蔽Xcode 8“煩人”的日志輸出
更新到Xcode 8
的同學應該都遇到了這個問題:用Xcode 8
運行項目,日志會瘋狂的刷,就像下面這種圖一樣:
於是,簡單搜尋了下,“歪果仁”給出了如下解決方法:
Edit Scheme-> Run -> Arguments, 在Environment Variables里邊添加 OS_ACTIVITY_MODE = disable
這樣設置之后,就屏蔽掉那些煩人的日志了。
【1】、Xcode8代 碼出現ubsystem: 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 17:18:55.843428 MyApp[6880:340837]
解決辦法:【product】-【scheme】-【Edit Scheme】-【Run】-【Argument】-【Environment Variable】添加keyValue【OS_ACTIVITY_MODE disable】可以停止輸出打印此日志
遺留問題:還會出現Class PLBuildVersion is implemented in both /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibraryServices.framework/AssetsLibraryServices (0x10a39a910) and /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/PhotoLibraryServices (0x10a1c4210). One of the two will be used. Which one is undefined.
【2】MJRefresh出現崩潰現象
解決辦法:類庫增加判斷
1
2
3
|
if
(range.location !=
NSNotFound
) {
language = [language substringToIndex:range.location];
}
|
【3】iOS10字體隱藏問題
label的話寫一個擴展類
-
第二步
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
@implementation
UILabel (Extend)
- (
void
)lableAdaptIOS10{
CGFloat iOS10 = [[UIDevice currentDevice] systemVersion].floatValue >= 10;
if
(iOS10) {
// self UIFont 的preferredFontForTextStyle: 意思是指定一個樣式,並讓字體大小符合用戶設定的字體大小。
[
self
sizeToFit];
// self.font =[UIFont preferredFontForTextStyle: UIFontTextStyleHeadline];
//是否更新字體的變化
// self.adjustsFontForContentSizeCategory = YES;
}
}
|
Xcode8總是打印一堆奇怪的東西。雖然不影響開發,但是看着很不爽。解決的方法就是在Scheme里面添加OS_ACTIVITY_MODE = disable
-
第一步
-
第二步
-
- 簽名出錯,Xcode8可以自動替開發者生成證書描述問題
- 參考網站https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&prev=search&rurl=translate.google.com.sg&sl=en&u=http://stackoverflow.com/questions/37806538/code-signing-is-required-for-product-type-application-in-sdk-ios-10-0-stic&usg=ALkJrhgcKvLVlgyIWGq9xcDjdoXGh2BpPg
- 需要FQ
-
-
-
現在做的Xcode - >產品 - >清潔。 關閉您的項目在Xcode並再次打開它。
-
在此之后到您的每一個目標的常規選項卡,勾選“自動管理簽名”,並在團隊下拉菜單中選擇您的開發者賬戶
-
- 官方網站
-
ERROR ITMS-90682: Invalid Bundle - The asset catalog at 'Payload/XXXXX/Assets.car' can't contain 16-bit or P3 assets if the app supports iOS 9.3 or earlier.
剛升級Xcode 8, 幺蛾子又出現了。提交的時候出了這個問題。 BTW,感謝google。以下為解決方案:‘
在 Xcode 8 中,當你資源文件中[含有16位圖]或者[圖片顯示模式γ值為'P3'] 且iOS targets設定為iOS 9.3以下就會出現這個問題. 如果你的app需要支持廣色域顯示的話,那你必須得把target設置成iOS 9.3+,相反,如果你的app不需要支持廣色域且你想兼容 iOS 9.3 之前的項目,你就得把所有的16位的或者顯示模式為'P3'圖片全都替換成8位模式的SRGB顏色的圖片。
你可以通過運行“assetutil”在iTunes Connect的錯誤信息中找到16-bit 或 P3 資源文件。離線的解決方案如下:
1.導出項目的 ipa 文件
2.定位到該ipa文件修改后綴名.ipa 為 .zip.
3. 解壓該 .zip 文件. 解壓后的目錄里面會有一個包含着你的 app bundle 文件的 Payload 文件夾.
4. 打開終端病切換到你的app的Payload文件夾下的 .app bundle 文件夾內,形式如下:
cd path/to/Payload/your.app
5. 用 find 命令定位到 Assets.car 文件 .app bundle , 形式如下:
find . -name 'Assets.car'
6. 使用 assetutil 命令找到任何包含着 16-bit or P3 的資源文件, 對每個 Assets.car 之行以下命令 :
sudo xcrun --sdk iphoneos assetutil --info /path/to/a/Assets.car > /tmp/Assets.json
注:這里的/path/to/a/Assets.car 指的是Assets.car的路徑,不要直接復制!!!使用上一步find命令的結果。
------------------2016-09-21更新----------------------------
-------------------end of the update--------------------------
7. 打開上一步生成的 /tmp/Assets.json 文件並查找包含有 “DisplayGamut": “P3” 或者相關的內容. 這段json的"Name"字段對應的值就是16位或顯示的γ值為P3的資源文件名.
8. 找到這個資源文件修改為 8位的sRGB形式,重新編譯上傳你的app即可.
iOS10 配置須知
在iOS10中,如果你的App想要訪問用戶的相機、相冊、麥克風、通訊錄等等權限,都需要進行相關的配置,不然會直接crash。
需要在info.plist中添加App需要的一些設備權限。NSBluetoothPeripheralUsageDescription
訪問藍牙NSCalendarsUsageDescription
訪問日歷NSCameraUsageDescription
相機NSPhotoLibraryUsageDescription
相冊NSContactsUsageDescription
通訊錄NSLocationAlwaysUsageDescription
始終訪問位置NSLocationUsageDescription
位置NSLocationWhenInUseUsageDescription
在使用期間訪問位置NSMicrophoneUsageDescription
麥克風NSAppleMusicUsageDescription
訪問媒體資料庫NSHealthShareUsageDescription
訪問健康分享NSHealthUpdateUsageDescription
訪問健康更新NSMotionUsageDescription
訪問運動與健身NSRemindersUsageDescription
訪問提醒事項從2017年1月1日起,強制使用https,所有新提交的 app 默認不允許使用NSAllowsArbitraryLoads來繞過ATS的限制 安全傳輸不再支持SSLv3, 建議盡快停用SHA1和3DES算法