Xcode 10.2を使用していますSwift 5。
デバッグスキームでは問題は発生しませんが、リリーススキームでビルドまたはアーカイブすると、コマンドcompileSwiftがゼロ以外の終了コードで失敗したことが示されます。
DerivedData/Clean/pod deintegrate&pod install&pod updateを削除してみました。これらの作品のどれも。
私のプロジェクトでは、問題はポッドCache
に関連しており、Release
のOptimization Level
がOptimize for Speed [-O]
に設定されているとエラーが発生しました。 Compilation Mode
をWhole Module
に再度設定し、ポッドファイルでポッドの最適化レベルを設定しました。
post_install do |installer|
installer.pods_project.targets.each do |target|
# Cache pod does not accept optimization level '-O', causing Bus 10 error. Use '-Osize' or '-Onone'
if target.name == 'Cache'
target.build_configurations.each do |config|
level = '-Osize'
config.build_settings['Swift_OPTIMIZATION_LEVEL'] = level
puts "Set #{target.name} #{config.name} to Optimization Level #{level}"
end
end
end
end
屈折: https://github.com/hyperoslo/Cache/issues/233#issuecomment-47774956
Pods Projectを構築設定に移動し、次にCompilation ModeをIncrementalにReleaseに設定して、この問題を修正しました。次に、クリーンでアーカイブし、正常にコンパイルする必要があります。
プロジェクトをSwift 5に更新するときに同じ問題が発生しました。何らかの理由で、Cocoapods(最新バージョン1.6.1)は、一部のポッドのSwift_VERSIONをSwift 5に設定しました。 Swift 4、4.1、4.2ポッド。そのため、Swiftの修正バージョンを次のように設定するポストインストールスクリプトを追加する必要がありました。
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == 'CryptoSwift' || target.name == 'SwiftyBeaver'
target.build_configurations.each do |config|
config.build_settings['Swift_VERSION'] = '4.2'
end
end
end
end
「Swift Compiler-Code Generation」の「Optimization Level」を「Release」-「Optimize for Speed」から「No Optimization [-Onone]」に設定して、キャッシュパスアーカイブを作成する必要がありました。
SwiftyBeaverと同じ
Xcode 10.2に関連する問題のようです。また、トゥーカンやXCGLoggerなど、他のポッドプロジェクトも最適化で問題ないようです。
Xcode 10.2にアップグレードした後、同じ問題が発生しました。以下の手順を実行した後、私にとってはうまくいきました:
この手順に従うことができます...
Pods..soが原因でこれらすべてのエラーが発生しています。そのため、使用しているすべてのpodを更新する必要があります。