Running 1 of 2 custom shell script stuck for 2 min

2020-02-11 04:20发布

问题:

Running 1 of 2 custom shell scripts it stuck for 2 minutes while trying to build the app.

I tried to fix with the solution :Xcode custom shell scripts are slowing down the compiling time , but still it slows the build process :(.

  • Build Stuck for 2m here

  • Build Phases

Further informations:

  • Xcode 8.1

  • Swift 3.0

Podfile:

# Uncomment this line to define a global platform for your project
platform :ios, '9.0'
# Uncomment this line if you're using Swift
use_frameworks!

target 'MyProject' do
    # Network
    pod 'Alamofire'
    pod 'SwiftyJSON'

    # UI side
    pod 'Material', git: 'https://github.com/CosmicMind/Material.git', branch: 'development'
    pod 'SDWebImage'
    pod 'UIScrollView-InfiniteScroll'
    pod 'TPKeyboardAvoiding'

    pod 'SwiftKeychainWrapper', git: 'https://github.com/jrendel/SwiftKeychainWrapper.git', branch: 'develop'
    pod 'DropDown'

    # Facebook
    pod 'FacebookCore'
    pod 'FacebookLogin'
    pod 'FacebookShare'

    # Autolayout
    pod 'SnapKit'
    pod 'KeepLayout'

    # Metrics
    pod 'Google/Analytics'

    # Fabric.io
    pod 'Fabric'
    pod 'Crashlytics'

end

target 'MyProjectTests' do

end

target 'MyProjectUITests' do

end

回答1:

Finally, I found a solution for this. At least the total build time now is 57sec.

I found that 'Embed Pods Framework' (Once 'Embed Pods Framework' and 'CP Embed Pods Framework') builds twice. Anyway, I don't have an idea why I have both of them on build phases.

I found for this on Report Navigator.

Solution:

1) I let only active ✓ Run script only when installing only for'[CP]Embed Pods Framework' 2) Optimization Level on Build Settings for debug was -None. I set to Fast...

3) Tip: use Simulator instead of Device for minimal build time.



回答2:

Added this at the end of you Podfile

post_install do |installer|
    puts("Update debug pod settings to speed up build time")
    Dir.glob(File.join("Pods", "**", "Pods*{debug,Private}.xcconfig")).each do |file|
    File.open(file, 'a') { |f| f.puts "\nDEBUG_INFORMATION_FORMAT = dwarf" }
  end
end