Xcode 7 beta - 构建错误 (xcassets)
Xcode 7 beta - build error (xcassets)
我刚刚安装了 Xcode 7 beta 并根据 Swift 2 条指南转换了我的 Swift 项目。
构建正常,但 xcassets:我在日志中遇到了这个错误:
CompileAssetCatalog /Users/phoenix/Library/Developer/Xcode/DerivedData/{...}/Build/Products/Debug-iphoneos/{...}.app {...}/Images.xcassets
cd /Users/phoenix/Dev/Xcode/{...}
export PATH="/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode-beta.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode-beta.app/Contents/Developer/usr/bin/actool --output-format human-readable-text\
--notices --warnings --export-dependency-info /Users/phoenix/Library/Developer/Xcode/DerivedData/{...}/Build/Intermediates/{...}.build/Debug-iphoneos/{...}.build/assetcatalog_dependencies.txt
--output-partial-info-plist /Users/phoenix/Library/Developer/Xcode/DerivedData/{...}/Build/Intermediates/{...}.build/Debug-iphoneos/{...}.build/assetcatalog_generated_info.plist\
--app-icon AppIcon --launch-image LaunchImage --compress-pngs\
--enable-on-demand-resources YES --target-device iphone --target-device ipad\
--minimum-deployment-target 7.0 --platform iphoneos --compile\
/Users/phoenix/Library/Developer/Xcode/DerivedData/{...}/Build/Products/Debug-iphoneos/{...}.app\
/Users/phoenix/Dev/Xcode/{...}/Images.xcassets
/Users/phoenix/Dev/Xcode/{...}/Images.xcassets: error:
Failed to find a suitable device for the type SimDeviceType : com.apple.CoreSimulator.SimDeviceType.iPad-2 with runtime SimRuntime :
9.0 (13A4254u) - com.apple.CoreSimulator.SimRuntime.iOS-9-0
Failure Reason: Failed to create new simulator device that matches SimDeviceType :
com.apple.CoreSimulator.SimDeviceType.iPad-2 for runtime SimRuntime :
9.0 (13A4254u) - com.apple.CoreSimulator.SimRuntime.iOS-9-0 ((null))
更新:
现在,当我尝试从扩展坞的 "Open developer tools" 菜单启动 iOS 模拟器时,出现此错误:
Dyld Error Message:
Library not loaded:
@rpath/SimulatorKit.framework/Versions/A/SimulatorKit
Referenced from: /Applications/Xcode-beta.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator
Reason: image not found
UPD2:
当尝试从终端启动模拟器时收到警告:
$ Applications/Simulator.app/Contents/MacOS/Simulator
dyld: warning, LC_RPATH @loader_path/../../../../Library/PrivateFrameworks in /Applications/Xcode-beta.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator being ignored in restricted program because of @loader_path
dyld: Library not loaded: @rpath/SimulatorKit.framework/Versions/A/SimulatorKit
Referenced from: /Applications/Xcode-beta.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator
Reason: image not found
我认为这是一个主要问题...
导航到 ~/Library/Developer/CoreSimulator/Profiles/Runtimes
,然后删除运行时 - 运行时是旧的。之后,重新启动 Xcode7,然后启动模拟器...
来自@seancook的进一步解释:
I experienced this, too, on El Capitan. NIBs wouldn't load, no Sims
present, and unable to launch Simulators through the Xcode/Open
Developer Tool/Simulator menu. After fighting it for a few hours I've
finally got it working.
Here's what worked for me (YMMV): I
noticed a message in Console.app along the lines of the Simulator
runtime not being code signed. I went to the path it described
"/Library/Developer/CoreSimulator/Profiles/Runtimes" and removed the
runtimes that I had there. They were old runtimes, so I assume that
some check in Xcode now applies that didn't previously. Who knows?
After doing this, I could finally launch the Simulator via the
Xcode/Open Developer Tool menu. Unfortunately, the Simulator still
wasn't being shown as a run target in my workspace, so I kept
spelunking...
I then went into the Simulator's Hardware/Devices/Manage Devices menu and added a new iOS9 device. It didn't seem to do anything, so I quit out of Xcode and Simulator.app.
I then re-started Simulator.app (via Xcode/ODT/Simulator) and lo and
behold the expected iOS9 simulators were displayed. I closed and
re-opened Xcode, changed the target OS for my project, and the Sims
were finally displayed as run targets.
我刚刚清除了派生数据,现在可以正常使用了。
我使用的是较旧的 xCode(我通过应用商店安装了 8.3.1,而我使用的是 8.2.1)。
对我来说,解决方案是 Xcode/Preferences>位置和设置命令行工具:Xcode 8.2.1 (8C1002)(之前在较新的 Xcode 上)
我刚刚安装了 Xcode 7 beta 并根据 Swift 2 条指南转换了我的 Swift 项目。
构建正常,但 xcassets:我在日志中遇到了这个错误:
CompileAssetCatalog /Users/phoenix/Library/Developer/Xcode/DerivedData/{...}/Build/Products/Debug-iphoneos/{...}.app {...}/Images.xcassets
cd /Users/phoenix/Dev/Xcode/{...}
export PATH="/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode-beta.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode-beta.app/Contents/Developer/usr/bin/actool --output-format human-readable-text\
--notices --warnings --export-dependency-info /Users/phoenix/Library/Developer/Xcode/DerivedData/{...}/Build/Intermediates/{...}.build/Debug-iphoneos/{...}.build/assetcatalog_dependencies.txt
--output-partial-info-plist /Users/phoenix/Library/Developer/Xcode/DerivedData/{...}/Build/Intermediates/{...}.build/Debug-iphoneos/{...}.build/assetcatalog_generated_info.plist\
--app-icon AppIcon --launch-image LaunchImage --compress-pngs\
--enable-on-demand-resources YES --target-device iphone --target-device ipad\
--minimum-deployment-target 7.0 --platform iphoneos --compile\
/Users/phoenix/Library/Developer/Xcode/DerivedData/{...}/Build/Products/Debug-iphoneos/{...}.app\
/Users/phoenix/Dev/Xcode/{...}/Images.xcassets
/Users/phoenix/Dev/Xcode/{...}/Images.xcassets: error:
Failed to find a suitable device for the type SimDeviceType : com.apple.CoreSimulator.SimDeviceType.iPad-2 with runtime SimRuntime :
9.0 (13A4254u) - com.apple.CoreSimulator.SimRuntime.iOS-9-0
Failure Reason: Failed to create new simulator device that matches SimDeviceType :
com.apple.CoreSimulator.SimDeviceType.iPad-2 for runtime SimRuntime :
9.0 (13A4254u) - com.apple.CoreSimulator.SimRuntime.iOS-9-0 ((null))
更新: 现在,当我尝试从扩展坞的 "Open developer tools" 菜单启动 iOS 模拟器时,出现此错误:
Dyld Error Message:
Library not loaded:
@rpath/SimulatorKit.framework/Versions/A/SimulatorKit
Referenced from: /Applications/Xcode-beta.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator
Reason: image not found
UPD2: 当尝试从终端启动模拟器时收到警告:
$ Applications/Simulator.app/Contents/MacOS/Simulator
dyld: warning, LC_RPATH @loader_path/../../../../Library/PrivateFrameworks in /Applications/Xcode-beta.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator being ignored in restricted program because of @loader_path
dyld: Library not loaded: @rpath/SimulatorKit.framework/Versions/A/SimulatorKit
Referenced from: /Applications/Xcode-beta.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator
Reason: image not found
我认为这是一个主要问题...
导航到 ~/Library/Developer/CoreSimulator/Profiles/Runtimes
,然后删除运行时 - 运行时是旧的。之后,重新启动 Xcode7,然后启动模拟器...
来自@seancook的进一步解释:
I experienced this, too, on El Capitan. NIBs wouldn't load, no Sims present, and unable to launch Simulators through the Xcode/Open Developer Tool/Simulator menu. After fighting it for a few hours I've finally got it working.
Here's what worked for me (YMMV): I noticed a message in Console.app along the lines of the Simulator runtime not being code signed. I went to the path it described "/Library/Developer/CoreSimulator/Profiles/Runtimes" and removed the runtimes that I had there. They were old runtimes, so I assume that some check in Xcode now applies that didn't previously. Who knows?
After doing this, I could finally launch the Simulator via the Xcode/Open Developer Tool menu. Unfortunately, the Simulator still wasn't being shown as a run target in my workspace, so I kept spelunking...
I then went into the Simulator's Hardware/Devices/Manage Devices menu and added a new iOS9 device. It didn't seem to do anything, so I quit out of Xcode and Simulator.app. I then re-started Simulator.app (via Xcode/ODT/Simulator) and lo and behold the expected iOS9 simulators were displayed. I closed and re-opened Xcode, changed the target OS for my project, and the Sims were finally displayed as run targets.
我刚刚清除了派生数据,现在可以正常使用了。
我使用的是较旧的 xCode(我通过应用商店安装了 8.3.1,而我使用的是 8.2.1)。 对我来说,解决方案是 Xcode/Preferences>位置和设置命令行工具:Xcode 8.2.1 (8C1002)(之前在较新的 Xcode 上)