【iOS】小知識點_AND_踩過的坑
目錄:
一. 小知識點
- 開發中如何丟擲異常
- 判斷某個資料的型別(
BOOL
/int
/NSUInteger
/void
/id
等) - 修改
.gitignore
生效的方法 - Xcode中自己新增警告的方法
- ios10跳轉到設定介面
- 移除專案的cocopods重新安裝
- Mark
二. 踩過的坑
- 證照過期
- AFN報錯
- Analyze 報clang錯誤
- git push報錯
- Mark
一. 小知識點
- **開發中如何丟擲異常 **
- 建立
NSException
物件(沒有實現,app掛掉)
NSString *reason = [NSString stringWithFormat:@"-[%@ %@]: unrecognized selector sent to instance %@", NSStringFromClass([self class]), NSStringFromSelector(aSelector), self];
NSException *exception = [[NSException alloc] initWithName:@"方法沒有實現" reason:reason userInfo:nil];
- 丟擲
@throw exception;
- 判斷某個資料的型別(
BOOL
/int
/NSUInteger
/void
/id
等)
- 下面給出的是C語言比較兩個字串的,字串大小的比較是以ASCII 碼錶上的順序來決定,此順序亦為字元的值。
strcmp()
首先將s1 第一個字元值減去s2 第一個字元值,若差值為0 則再繼續比較下個字元,若差值不為0 則將差值返回。
strcmp(<#const char *#>, <#const char *#>)
- Objective-C 的資料型別,甚至自定義型別、函式或方法的元型別,都可以使用 ASCII 編碼。
@encode(aType)
可以返回該型別的 C 字串(char *)
的表示
@encode(void)
- 根據上面介紹就可以判斷是否為某一型別
strcmp(returnType, @encode(void)
如果前者屬於後者型別則返回0,否則返回不為0
-
修改
.gitignore
生效的方法
git rm -r --cached .
git add .
-
Xcode中自己新增警告的方法
注意:警告後面文字只能識別英文。。。。。。。 ios10跳轉到設定介面
NSString * urlString = @"App-Prefs:root=Privacy";
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:urlString]]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString] options:@{} completionHandler:nil];
}
- 移除專案的cocopods重新安裝
- 開啟終端,執行sudo gem install cocoapods-deintegrate安裝快速解除專案cocopods依賴的庫
- 安裝成功後,cd到你專案的更目錄執行pod deintegrate解除專案cocopods依賴
- 執行pod install,重新安裝cocopods
- Mark
二. 踩過的坑
-
證照過期
下載最新證照地址 -
AFN報錯
AFURLResponseSerialization.m
中可以修改AFN支援的格式 比如增加text/html
-
Analyze 報clang錯誤
解決方法:Apple LLVM compiler4.2
- Language ->c++ Standard Library 修改為 libstdc++ (GNU C++ standard library) -
git push報錯
如上圖所示一共四個錯誤相關的資訊- remote: error: insufficient permission for adding an object to repository database ./objects
- remote: fatal: failed to write object
- error: unpack failed: unpack-objects abnormal exit
- error: failed to push some refs to 'xxxx.git'
google之後發現是伺服器git倉庫許可權問題,驗證方法進入公司git伺服器檢視許可權參考部落格
1. $ ssh username@ip
按照提示輸入密碼
2. $ cd /git/xxxx.git
就是進入伺服器中對應無法push的倉庫(路徑就是你git clone ip地址後面的那個路徑)
3. $ ls -la
![](http://upload-images.jianshu.io/upload_images/1168216-8c31bd5336752839.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
列出當前資料夾下檔案引數,如果全是root說明沒有當前資料夾下面檔案許可權是屬於伺服器,你使用git clone git@ip 是無法寫入的
4. $ chown -R git:git your_git_pod_name.git
這個命令就是把檔案許可權交給git
- Mark
相關文章
- 避免踩坑的外貿知識點奉上~
- iOS小知識點羅列iOS
- wepy小程式踩過的坑(1)
- iOS--小知識點(持續更新)iOS
- iOS小知識iOS
- 小程式的這些坑你踩過嗎?
- iOS 知識點iOS
- GeoServer 踩過的坑Server
- VEEAM的小知識點
- 小程式踩坑填坑
- 小程式踩坑
- 騰訊 iOS 三面-這是我踩過的坑!iOS
- java小知識點Java
- js小知識點JS
- 小知識點1
- 前端小知識點前端
- mongo 小知識點Go
- javascript小知識點JavaScript
- PHP小知識點PHP
- 記錄的小知識點
- 小程式踩坑(2)
- [小程式] mpVue 踩坑Vue
- 浮點數小知識點
- Flutter 接入iOS蘋果內購支付踩坑過程FlutteriOS蘋果
- iOS 知識點總結iOS
- 我踩過的聽過的那些坑
- 關於最近開發小程式中踩過的那些坑
- 那些年踩過的坑——h5頁面在ios端點選高亮閃爍H5iOS
- 【JAVA】- 知識點小結Java
- promise知識點小結Promise
- CSS小知識點一CSS
- HTTP知識點小結HTTP
- makefile 知識點小結
- ElasticSearch知識點小記Elasticsearch
- iOS私有Pod, 指南+踩坑iOS
- Realm ios踩坑筆記iOS筆記
- 總結的小知識點(一)
- 你踩過flutter的坑嗎Flutter