我们在应用商店中有一个有奇怪行为的应用。我们提交给应用商店的应用在调用特定事件时会崩溃。但是当使用Xcode运行应用程序并调用某些事件时,它不会造成任何崩溃。我也尝试使用.app并将其添加到iTunes上然后将应用程序安装到我的设备上;它不会造成任何崩溃。只有我们提交给appStore的应用程序才会在应用程序上创建奇怪的崩溃。
我已经检查了崩溃日志,它说。
崩溃日志指向此行代码。
func createPlaylist()
{
let storePath = applicationDocumentsDirectory().stringByAppendingPathComponent("Playlist.plist")
var playlists = NSDictionary(contentsOfFile: storePath)
if playlists == nil
{
// return immediately
return
}
let query = MPMediaQuery.songsQuery()
var mediaItemCollection : MPMediaItemCollection // use for initial playlist of the app
var keys : [String] = playlists?.allKeys as [String]!
for key in keys
{
var tempSongList : [MPMediaItem] = [MPMediaItem]()
var playlist = playlists?.objectForKey(key) as NSArray
if (playlist.count > 0)
{
for persistentId in playlist
{
let predicate : MPMediaPropertyPredicate = MPMediaPropertyPredicate(value: persistentId, forProperty: MPMediaItemPropertyPersistentID)
query.addFilterPredicate(predicate)
let songs = query.items
if (songs.count > 0)
{
let mItem = songs[0] as MPMediaItem
tempSongList.append(mItem)
}
query.removeFilterPredicate(predicate)
}
}
self.userPlaylistCollection[key] = tempSongList
self.createPlaylistTitles()
}
}
func createPlaylistTitles()
{
let storePath = applicationDocumentsDirectory().stringByAppendingPathComponent("PlaylistTitles.plist")
var playlistTitles = NSArray(contentsOfFile: storePath)
if playlistTitles != nil
{
self.userPlaylistKey = playlistTitles as [String]
}
}
任何人都可以帮我解决这个问题。我不知道为什么从AppStore下载的应用程序与从xcode和同步到iTunes的应用程序运行的应用程序有不同的行为。
感谢。
更新:
我已将应用程序上传到iTunesConnect,使用试飞版下载了应用程序。与从App Store下载相同的行为,应用程序崩溃。