wake-up-neo.com

xcodebuild exportArchive: Es wurden keine geeigneten Geräte gefunden

Nach dem Upgrade auf Xcode 8 mit iOS 10 erhalte ich genau diesen Fehler. Ich bin auf dem neuesten El Capitan und verwende folgende Versionen von Ruby (ich habe über rvm aktualisiert, ebenso 2.0.0 (Systemversion) und CFPropertyList:

Philipps-MacBook-Pro:mobile-sdk prakuschan$ Ruby -v
Ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]


Philipps-MacBook-Pro:mobile-sdk prakuschan$ gem list CF
*** LOCAL GEMS ***
CFPropertyList (2.3.3)

Der Befehl xcodebuild -exportArchive wird in einem Shell-Skript ausgeführt. Nach einem erfolgreichen Archiv bekomme ich den folgenden Fehler:

** ARCHIVE SUCCEEDED **
2016-09-22 10:02:16.460 xcodebuild[10375:8369748] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/9y/r64c9wld0jx2yf3glsrzhhr00000gn/T/AppName_2016-09-22_10-02-16.456.xcdistributionlogs'.
2016-09-22 10:02:18.228 xcodebuild[10375:8369748] [MT] IDEDistribution: Step failed: <IDEDistributionThinningStep: 0x7fe435f9dfb0>: Error Domain=IDEDistributionErrorDomain Code=14 "No applicable devices found." UserInfo={NSLocalizedDescription=No applicable devices found.}
error: exportArchive: No applicable devices found.
Error Domain=IDEDistributionErrorDomain Code=14 "No applicable devices found." UserInfo={NSLocalizedDescription=No applicable devices found.}
** EXPORT FAILED **

Beim Betrachten der xcdistributionlogs enthält IDEDistribution.standard.log am Ende die folgenden Zeilen:

2016-09-22 08:02:18 +0000 [MT] /Applications/Xcode.app/Contents/Developer/usr/bin/ipatool exited with a signal 6
2016-09-22 08:02:18 +0000 [MT] ipatool JSON: (null)

Ich weiß nicht, ob es wertvoll ist, aber dies ist der Pfad zu ipatool:

2016-09-22 08:02:17 +0000 [MT] Running /Applications/Xcode.app/Contents/Developer/usr/bin/ipatool

Jede Hilfe wird sehr geschätzt. Ich habe schon viele Vorschläge auf Google ausprobiert, aber noch keine Lösung gefunden.

16
Philipp

Ich sah das gleiche Problem. Nach Durchsuchen: 

https://forums.developer.Apple.com/thread/13446

Und anderswo für Xcode 7 ähnliche Ausgaben. Mir wurde klar, dass dies einzigartig ist. Sie können das Problem beheben, wenn Sie das ipatool-Skript in Xcode 8 anpassen.

Sudo vi /Applications/Xcode.app/Contents/Developer/usr/bin/ipatool

Und kommentieren Sie diese eine Zeile aus:

# Check the artwork idiom.
#return nil,"the device doesn't support the app's UIDeviceFamily" unless (deviceTraits.supportedIdioms & bundle.supportedIdioms).size > 0

Gefunden durch Schlupf des Befehls ipatool in: 

/var/folders/.../IDEDistribution.standard.log

Sie können diese suchen über:

$ Sudo find /private/var -name "*.xcdistributionlogs"

Relevante Detail-/Debugging-Schritte: https://github.com/fastlane/fastlane/issues/8737

10
user560766

Wir hatten das gleiche Problem "No applicable devices found" nach dem Laufen

xcodebuild -exportArchive -archivePath ../bin/archive/GetSocialTestApp.xcarchive -exportPath ../bin/ -exportOptionsPlist ../../scripts/exportOptions.plist

Arbeitslösung: Umbruch von xcodebuild mit xcbuild-safe.sh von Fastlane-Repo . Detaillierte Lösung beschrieben hier .

Anscheinend wurde das Problem durch rvm-Umgebungsvariablen verursacht. xcbuild-safe.sh reinigt sie, bevor xcodebuild ausgeführt wird.

Nicht funktionierende Lösungen, die wir ausprobiert haben:

  • ipatool-Skript wie beschrieben ändern hier
  • downgrade auf Ruby 2.0.0
  • installiere Ruby-Edelsteine ​​CFPropertyList, sqlite3, über die ipatool sich beschwert hat 
5
zasadnyy

Ich habe den Error Domain=IDEDistributionErrorDomain Code=14 "No applicable devices found." mit meinem Unternehmensprojekt erhalten, als ich ein Framework von Drittanbietern einbezogen habe. Meine exportOptionsPlist-Datei enthielt den compileBitcode=NO-Eintrag, aber das Projekt selbst hatte noch einen Bitcode.

Ich habe auch das Protokoll bei /var/folders/.../IDEDistribution.standard.log verwendet und einen klareren Fehler gefunden, der mich zur Lösung führte.

Weitere Informationen: https://developer.Apple.com/library/content/technotes/tn2432/_index.html

2
Nick

Kopieren Sie folgendes und fügen Sie es am Ende von ~/.bashrc ein (~/.zshrc, wenn Sie ZSH verwenden). und beenden Sie das Terminal und starten Sie es erneut (muss).

unset RUBYLIB
unset RUBYOPT
unset BUNDLE_BIN_PATH
unset _ORIGINAL_GEM_PATH
unset BUNDLE_GEMFILE
unset GEM_HOME
unset GEM_PATH

Zu Ihrer Information:

Da Xcode eine Abhängigkeit zu 2 externen Gems hat: sqlite und CFPropertyList Weitere Informationen https://github.com/fastlane/fastlane/issues/6495

Wir müssen diese Variablen für rbenv, rvm und wenn der Benutzer Bundler .__ verwendet, aufheben. Auch wenn wir rbenv in einigen Umgebungen wie CircleCI, .__ Informationen https://github.com/fastlane/fastlane/issues/627

2
Kun Wang

Das ist es! Stellen Sie den bitcode = no ein, der Fehler wurde behoben. ????

1
knight2016

@Tom Harada Antworten funktionierten für mich, aber ich wollte herausfinden, was die Standardvariable ipatool brach.

Es war das Google Cast 3.2 SDK, dem ein Eintrag im plist-Framework fehlte. Durch die Aktualisierung auf 3.3 wurde das Exportproblem behoben.

Refs: https://code.google.com/p/google-cast-sdk/issues/detail?id=954https://github.com/fastlane/fastlane/issues/6223 # issuecomment-267343853

0
Nicolas Braun

Zuerst müssen Sie überprüfen, ob Sie sqlite3 und CFPropertyList mit gem auf Ihrem Mac installiert haben. Verwenden Sie die folgenden Befehle, um das Ergebnis in Ihrem Terminal zu überprüfen: 

  • gem list | grep sqlite3
  • gem list | grep CFPropertyList

wenn Sie nichts drucken, müssen Sie sie mit Sudo installieren 

  • Sudo gem install sqlite3
  • Sudo gem install CFPropertyList
0
Bevis Liu

Hatte ein ähnliches Problem mit XCode 8.2.1

In meinem Fall wurde das Problem beim Exportieren eines Archivs für die Adhoc- oder Appstore-Verteilung mit der folgenden Export-Info-Liste reproduziert

<?xml version=1.0 encoding=UTF-8?>
<!DOCTYPE plist PUBLIC -//Apple//DTD PLIST 1.0//EN http://www.Apple.com/DTDs/PropertyList-1.0.dtd>
<plist version=1.0>
<dict>
        <key>teamID</key>
        <string>TEAMID</string>
        <key>method</key>
        <string>ad-hoc</string> # or `app-store`
        <key>uploadSymbols</key>
        <true/>
        <key>compileBitcode</key>
        <false/>
        <key>uploadBitcode</key>
        <false/>
</dict>
</plist>

Es stellte sich heraus, dass eines der verlinkten Frameworks mit Bitcode erstellt wurde. Dies wurde aus dem Xcode-Exportprotokoll hervorgehoben: IDEDistribution.stadard.log:

error: Failed to verify bitcode in YandexMapKit.framework/YandexMapKit:
error: Bundle only contains bitcode-marker /var/folders/zb/ftpjx10s547ddmzm_ybqdm51xdv_t7/T/IDEDistributionThinningStep.NKQ/Payload/Avito.app/Frameworks/YandexMapKit.framework/YandexMapKit (armv7)

Ich musste das YandexMapKit-Projekt manuell in iphoneos- und iphonesimulator- -Frameworks rekompilieren und in ein universelles Framework zusammenführen

0
Tim

Mein Build-Skript hat das gleiche Problem und ich überprüfe einige Rahmen, die ich hinzugefügt habe. Es gibt ein Framework, das eine Plist-Datei enthält (der Name ist derselbe wie Info.plist). Also lösche ich die Info.plist-Datei, das Build-Skript funktioniert einwandfrei.

 enter image description here

0
riven