- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation這裏出問題,
在第一次進入更新位置的時候,userLocation.coordinate有時候會是0,0,這時候用setRegion就一定會Crash,
所以任何時刻請記得做非空處理, if (userLocation.location == nil)
下面建議如何用symbolicatecrash工具分析iOS Crash文件:
一、在桌面創建一個crash文件夾
1.Xcoe-Window-Organize找到Archives找到App-右擊-Show in Finder
2.複製.app和.app.dSYM到crash夾文件:右擊..xcarchive文件-顯示包內容
如圖:
複製好以後如圖:
二、首先找到symbolicatecrash工具存放的地址
1.打開終端輸入以下命令:
find /Applications/Xcode.app -name symbolicatecrash -type f
你會找到:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/./symbolicatecrash
2.用命令將symbolicatecrash拷貝到桌面的crash文件夾裏面,與.app和.app.dSYM放一起
cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash /Users/angel/Desktop/crash
如圖:
3.將Crash文件也拷到當前文件夾裏面
如圖:
三、執行symbolicatecrash
1.打開終端用命令切換到桌面的crash目錄下:
cd /Users/你的電腦名稱/Desktop/crash
2.執行命令
./symbolicatecrash /Users/angelseahappiness/Desktop/crash/Control_2014-01-13-111838_Lynns-iPad3.crash /Users/angel/Desktop/crash/Control.app.dSYM > Control_symbol.crash
這時候終端有可能會出現:Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 60.
3.輸入命令:export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
4.再執行./symbolicatecrash /Users/angelseahappiness/Desktop/crash/Control_2014-01-13-111838_Lynns-iPad3.crash /Users/angel/Desktop/crash/Control.app.dSYM > Control_symbol.crash
這時候終端將會進行處理了
5.將終端完成以後,在crash文件夾裏面會多出一個文件Control_symbol.crash:這個就是最終的文件,可以查看bug所在的
如圖: