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.
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
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 hierCFPropertyList
, sqlite3
, über die ipatool
sich beschwert hat 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
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
Das ist es! Stellen Sie den bitcode = no
ein, der Fehler wurde behoben. ????
@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
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
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