簡體   English   中英

無法在模擬器中運行應用程序

[英]Unable to run app in simulator

今天,當我嘗試在模擬器中運行我的應用程序時,它只是告訴我

Unable to run app in Simulator
An error was encountered while running
(Domain = NSPOSIXErrorDomain, Code = 22)

錯誤對話框如下所示:

無法在模擬器中運行應用程序

我嘗試了很多東西:

  • 重啟Xcode
  • 重啟模擬器
  • 重啟
  • 重置模擬器的內容和設置

以上都不適用。 我查看了日志,我發現這些記錄與此問題有關

2014/10/15 9:09:40.964 com.apple.CoreSimulator.CoreSimulatorService [979]:錯誤Domain = com.apple.CoreSimulator.SimError Code = 146“無法在當前狀態下查找:關閉”UserInfo = 0x7f96c861d000 {NSLocalizedDescription =無法在當前狀態下查找:關機}

2014/10/15 9:09:40.964 Xcode [1983]:[MT] iPhoneSimulator:無法連接到“com.apple.instruments.deviceservice.lockdown”(錯誤域= com.apple.CoreSimulator.SimError Code = 146“無法在當前狀態下查找:關閉“UserInfo = 0x7fcf6fc24190 {NSLocalizedDescription =無法在當前狀態下查找:關機}”

2014/10/15 9:09:40.980 com.apple.CoreSimulator.CoreSimulatorService [979]:Error Domain = com.apple.CoreSimulator.SimError Code = 146“無法在當前狀態下查找:Shutdown”UserInfo = 0x7f96c861d000 {NSLocalizedDescription =無法在當前狀態下查找:關機}

2014/10/15 9:09:42.351 launchd_sim [2047]:斷言失敗:13F34:libxpc.dylib + 29453 [75E30F22-514B-3A20-B82C-EDA43AF5C35C]:0x8d

2014/10/15 9:09:42.362 com.apple.CoreSimulator.CoreSimulatorService [979]:無法注冊服務com.apple.coreservices.lsuseractivity.simulatorsupport:無法查找com.apple.coreservices.lsuseractivity.simulatorsupport:0x44e

我還發現其他一些人在這里有同樣的問題: https//gist.github.com/bdeshong/2dd90add09b7287a9a85

谷歌搜索后沒有運氣找到解決方案。

這是我的環境信息

  • OSX 10.9.5
  • Xcode 6.0.1
  • iOS模擬器8.0(550.1)

有任何想法嗎?

我找到了根本原因,我也找到了解決方案。 我做的第一件事就是確保這與Xcode有關,而不是與項目本身有關的問題。 我試圖創建一個新項目,它工作得非常好。 所以我認為這是由我的項目中的某些東西引起的。

我實際上在項目中添加了一個resources引用文件夾。 所以我認為這個問題與它有關。 但是,即使我從項目中刪除了該文件夾,問題仍然存在。 事實證明, resources文件夾可以存在

  • 內置App文件夾
  • 模擬器中的App文件夾

由於Xcode可能只是復制和覆蓋目標應用程序包文件夾,因此resources文件夾可能仍然存在於應用程序包文件夾中。 因此,刪除resources文件夾后,您需要

  • 確保清理構建
  • 確保刪除模擬器中的應用程序

由於App無法正確啟動,因為它看起來resources實際上是捆綁結構中的保留文件夾名稱。 通過在包中添加名為resources的文件夾,以某種方式破壞了正常的結構。 為了解決這個問題,我將名稱從resources更改為app_data ,或者不管是什么,都可以。

你正在做的一切都是正確的,但Xcode和Swift仍然處於早期階段,這意味着他們現在有點小馬車。 也許再試一次重啟你的Xcode和iOS模擬器。

我得到了完全相同的錯誤。 瀏覽我的項目信息時,我無意中刪除了包標識符; 因此“ErrorDomain”。

糾正,轉到項目數據; 信息; 將包標識符設置為它是什么。 它對我有用。

出現這種情況有幾個原因:

  1. 當Instruments試圖使用它時,你退出了iOS Simulator.app。
  2. 您在iOS Simulator.app中更改了啟動的設備,而Instruments正在嘗試使用另一個。

如果不是這種情況,請查看〜/ Library / Logs / CoreSimulator / * .log以獲取可能有助於調試的更多信息,並將其包含在您的問題中。

在我的情況下根本原因略有不同。 在項目文件中,iOS部署目標對於測試目標設置為8.0,對於主目標設置為8.1。 我們在構建服務器上運行了Xcode 6.0.1(6A317)和8.0模擬器,在主構建目標設置為8.1之后,所有模擬器都開始失敗。

我不確定目標和測試是否使用不同的iOS部署目標,或者項目文件中的8.1設置是否與8.0模擬器沖突,但正是這種變化打破了幾台機器上的模擬器。

不幸的是,在項目中將iOS部署目標設置回8.0之后,它仍然需要重新安裝Xcode(我還刪除了〜/ Library / Developer / Xcode目錄)以將模擬器返回到功能狀態。

我也一樣。 我剛剛強制退出xcode和模擬器然后為我工作。

檢查您的/private/tmp文件夾是否具有適當的權限,對所有用戶都應該是可寫的和可執行的。

清除/ Users / XXXXX / Library / Developer / CoreSimulator / Devices中的所有文件

重新啟動Xcode和Simulator。

現在它會起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM