2016-10-20 10 views
8

Nach dem Download von Xcode 8 und Migrieren zu Swift 3 kann ich das Projekt nicht mehr archivieren. Gleichzeitig baut das Projekt ohne Probleme auf.Nicht definierte Symbole Swift.UnsafeMutableBufferPointer

Fehler, die ich bekomme:

Undefined symbols for architecture armv7:
"Swift.UnsafeMutableBufferPointer.(subscript.materializeForSet : (Swift.Int) -> A).(closure #1)", referenced from: function signature specialization of generic specialization with Swift.UnsafeMutableBufferPointer : Swift.MutableCollection in Swift and Swift.UnsafeMutableBufferPointer : Swift.RandomAccessCollection in Swift> of Swift._siftDown (inout A, index : A.Index, subRange : Swift.Range, by : inout (A.Iterator.Element, A.Iterator.Element) -> Swift.Bool) ->() in OrderCoordinator.o function signature specialization of generic specialization with Swift.UnsafeMutableBufferPointer : Swift.MutableCollection in Swift and Swift.UnsafeMutableBufferPointer : Swift.RandomAccessCollection in Swift> of Swift._heapSort (inout A, subRange : Swift.Range, by : inout (A.Iterator.Element, A.Iterator.Element) -> Swift.Bool) ->() in OrderCoordinator.o function signature specialization of generic specialization with Swift.UnsafeMutableBufferPointer : Swift.MutableCollection in Swift and Swift.UnsafeMutableBufferPointer : Swift.RandomAccessCollection in Swift> of Swift._partition (inout A, subRange : Swift.Range, by : inout (A.Iterator.Element, A.Iterator.Element) -> Swift.Bool) -> A.Index in OrderCoordinator.o ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)

ich Fehler bekommen konnte zu befreien von Array zu kommentieren in folgenden Sortierfunktion Code:

func didFinishWithResults(_ results: [PhotoProcessorResult]) { 
    guard let album = albumService.currentAlbum else { return } 
    //let sortedResults = results.sorted(by: { $0.fileIndex < $1.fileIndex }) 
    let updateItems = zip(sortedResults, album.assetItems).map { (photoProcessorResult, assetItem) -> UpdateItem in 
     UpdateItem(path: photoProcessorResult.filePath, position: photoProcessorResult.fileIndex, isCover: assetItem.isCover) 
    } 
    albumService.updateAlbumWithItems(updateItems) { (success, errorDescription) in 
     if success { 
      self.handleAlbumUpdate() 
     } else { 
      self.showFailureAlert(errorDescription) { 
       self.startProcessingAlbum(self.albumService.currentAlbum) 
      } 
     } 
    } 
} 

Während ich Problem durch Sortieren von Daten unter Verwendung von NSArray aufgelöst, Ich mag diese Lösung nicht.

Wir werden für Anregungen dankbar sein.

+0

Poste deinen Code vor Änderung auch – Kuba

Antwort

1

Problem verschwand nach dem Update auf XCode 8.1. Danke an alle :)

1

Wenn hier Problem nur für die dieser Zeile:

let sortedResults = results.sorted(by: { $0.fileIndex < $1.fileIndex }) 

Sie können es ändern:

let sortedResults = results.sorted { (first, second) -> Bool in 
    return first.fileIndex < second.fileIndex 
} 

Hat es Ihr Problem lösen?

+0

Ich habe genau das gleiche Problem und das hat nicht für mich funktioniert. Ich habe auch nicht 'array.sort()' (mein ist nur ein Array von 'Floats') – ephemer

1

Da es kompiliert, glaube ich nicht, dass mit Ihrem Code etwas falsch ist. Die Tatsache, dass es "Undefined symbols for architecture armv7" heißt und nicht archiviert wird, sagt mir, dass etwas mit deinem Projekt los ist, aber leider gibt es viele Möglichkeiten, dieses Problem zu verursachen. arm7 ist iphone 5, so dass dein Projekt wahrscheinlich nur für arm64 korrekt eingerichtet ist. Versuchen Sie die hier genannten Lösungen: Undefined symbols for architecture armv7

Verwandte Themen