在通过命令行运行我的单元测试时更新到Xcode 4.5后出现问题.以下是我尝试运行测试时看到的输出
Unknown Device Type. Using UIUserInterfaceIdiomPad based on screen size
Terminating since there is no workspace.
/Applications/Xcode.app/Contents/Developer/Tools/RunPlatformUnitTests.include:334: note: Passed tests for architecture 'i386' (GC OFF)
/Applications/Xcode.app/Contents/Developer/Tools/RunPlatformUnitTests.include:345: note: Completed tests for architectures 'i386'
Run Code Online (Sandbox Code Playgroud)
虽然它确实说测试已经通过并完成,但我认为它们实际上并没有被运行.
我正在使用以下命令来运行测试xcodebuild -workspace MyApp.xcworkspace -scheme MyAppTests -sdk iphonesimulator -configuration Debug clean build TEST_AFTER_BUILD = YES
有没有人遇到同样的问题,可以提供解决方案?
所以我已经UIView这样继承了
class CustomView: UIView {
}
Run Code Online (Sandbox Code Playgroud)
我可以做点什么
let customView = CustomView()
Run Code Online (Sandbox Code Playgroud)
但是,当我覆盖我认为是UIViewie 的两个指定初始化器时init(frame:),init(coder:)就像这样
class CustomView: UIView {
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.backgroundColor = UIColor.redColor()
}
override init(frame: CGRect) {
super.init(frame: frame)
self.backgroundColor = UIColor.redColor()
}
}
Run Code Online (Sandbox Code Playgroud)
我不能再这样创建视图,因为它抱怨init()不再存在
let customView = CustomView()
Run Code Online (Sandbox Code Playgroud)
我的理解是,如果我覆盖所有指定的初始化器,我也应该继承所有的便利初始化器.
所以我的问题是.是init()不是UIView的便利初始化?或者UIView上有另一个指定的初始化程序,我还没有覆盖吗?
我试图检索iPod库中歌曲的曲目编号.
基本上我已经查询了所有相册,如下所示:
NSArray *albums = [MPMediaQuery albumsQuery].collections;
Run Code Online (Sandbox Code Playgroud)
检索到一张专辑:
MPMediaItemCollection *album = self.albums[0];
Run Code Online (Sandbox Code Playgroud)
迭代歌曲并尝试记录曲目编号
for (MPMediaItem *mediaItem in self.album.items)
{
NSLog(@"Track Number %@", [mediaItem valueForKey:MPMediaItemPropertyAlbumTrackCount]);
}
Run Code Online (Sandbox Code Playgroud)
但这给了我以下错误
Terminating app due to uncaught exception 'NSUnknownKeyException', reason:
'[<MPConcreteMediaItem 0x1cd818d0> valueForUndefinedKey:]: this class is
not key value coding-compliant for the key albumTrackCount.'
Run Code Online (Sandbox Code Playgroud)
如果我尝试其他键MPMediaItemPropertyTitle,MPMediaItemPropertyAlbumTitle或者MPMediaItemPropertyArtist工作正常.有什么我不知道为什么我无法访问MPMediaItemPropertyAlbumTrackCount.