虛擬機中安裝的mac系統無法識別iphone
今天在 Xamarin.iOS 應用的免費預配 時,進行到 5、插入要在其中部署應用的 iOS 設備。 在第8選擇iphone設備時,發現iphone並沒有連接上mac虛擬機。
於是在其他mac上嘗試連接了是可以的,然后懷疑是自己mac哪里的設置問題。
1、首先看下相關的服務有沒有開啟
鼠標右鍵“計算機”->“管理”-“服務和應用程序”->“服務”,找到“VMware USB Arbitration Service”,開啟服務。(可以設置為自動啟動,以免以后每次開機都要手動開啟)
開啟后,PC要重啟才能生效。
2、看下虛擬機的設置是否正確
要對虛擬機設置:usb控制器,將usb兼容從USB3.0 調到USB2.0。點擊確定。
(注意:更改設置時系統應該是關機狀態,否則更改無效)
這是因為你的設備USB接口可能是2.0的
然后重啟,重連ok。
蘋果手機應用顯示不受信任的開發者時,要怎么辦
ios部署失敗:
error MT1007: Failed to launch the application '/Users/huymac/Library/Caches/Xamarin/mtbs/builds/FromPractice.iOS/d3c1b1491d287d04e44e10dc7e8e7f9b/bin/iPhone/Debug/FromPractice.iOS.app' on the device '????????? iPhone':
Failed to launch the application 'huy.com.FormPractice' on the device '????????? iPhone': Application failed to launch: ESecurity. You can still launch the application manually by tapping on it.
這種情況一般是 開發者不受信任導致。
解決:手機-》設置-》通用-》設備管理-》
查看安裝的Xamarin.iOS版本
編譯時報錯:Xamarin.iOS 12.14.0 does not support a deployment target of 12.4 for iOS (the maximum is 12.2). Please select an older deployment target in your project's Info.plist or upgrade to a newer version of Xamarin.iOS. AwesomeApp.iOS
安裝的版本 相對於需要運行的iphone手機的版本太低了。
解決方法:在 Info.plist 中修改 部署目標,為12.2
Xcode中的iOS模擬器(iOS Simulator)
安裝了最新版的Xcode10.3,后來發現只有ios 12.4版本的模擬器,而在win10上vs開發裝的是Xamarin.ios12.14,最大支持12.2版本的,無法調試,於是想辦法在mac上安裝低版本的ios模擬器。
打開XCode->Preferences->Components
如何修改mac虛擬機硬盤大小
Mac上用戶->xxx目錄下沒有“資源庫”目錄
對huymac郵件,選擇查看顯示選項,勾選“”資源庫”文件夾
win10系統VMware Workstation與Device/Credential Guard不兼容
解決VM 與 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以運行 VM 的方法
或者
步驟都設置好后,重新啟動計算機。
查看Mac上安裝的mono版本
啟動VS for Mac,打開上面工具欄,工具-》自定義工具。
【也可以在文件夾下去看:訪達->前往->電腦->xxMac->資源庫->Framework】
在win10上用vs開發ios時,需要和mac配對,檢測到mono版本不符合時:
mac上安裝的mono版本可能與此版本的visual studio不兼容
可以在mac上 再去下載和安裝一個新版本的mono,而不要替換,https://www.mono-project.com/download/stable/#download-mac。
建議:不要隨意去更新vs的版本。。
此外,Xamarin.ios版本和Xcode也會不兼容:
Mac上后安裝Android
Mac上初始安裝VS for Mac時沒有安裝Android,后來想安裝了怎么解?
在VS for Mac工具中找了半天沒有發現入口,后來試了下 VS for Mac安裝文件,ok。
開發:UIKit Consistency error: you are calling a UIKit method that can only be invoked from the UI thread
UIKit一致性錯誤:您正在調用只能從UI線程調用的UIKit方法
應該是需要在主線程(UI線程)上操作的代碼,被你放在后台線程上執行了。
一般是跟界面相關的。或者綁定界面的可綁定屬性等,斷點執行下看是那些代碼。
未能停止應用: An error occurred on client IDB1630274 while executing a reply for topic xvs/idb/16.3.0.274/stop-app
問題:app打開時,按Home鍵退出,然后再點app進入,本應該直接回到app的,可是出現app需要重新登錄的現象。調試發現按Home時,輸出里顯示如標題的錯誤,網上根本沒有解決方法。
排查推測可能是退出時需要執行的什么操作報錯,由於時團隊項目,問同事是否退出時是否有什么操作,他才想起來原來是他某個文件沒有提交(涉及到退出的操作)。
提交文件,重新調試,ok!
AMDeviceSecureInstallApplicationBundle returned: 0xe8008021.
部署應用到app的時候報錯
方法:將設備中的app刪除,然后重新運行
調試時文件未找到,或者沖突
嘗試刪除項目中的'Resources/LaunchScreen.storyboard' 但是沒有起作用。
解決方法:直接找到csproj項目文件去編輯(刪除對應的文件)