grab / cocoapods-binary-cache

MIT License
478 stars 69 forks source link

I have problem when building #24

Closed mefilt closed 4 years ago

mefilt commented 4 years ago

i enable cache and have this problem. In logs i dont see information by error

INFO [2020-09-29 12:29:16.14]: ▸ error: exportArchive: IPA processing failed INFO [2020-09-29 12:29:16.14]: ▸ Error Domain=IDEFoundationErrorDomain Code=1 "IPA processing failed" UserInfo={NSLocalizedDescription=IPA processing failed} INFO [2020-09-29 12:29:16.14]: ▸ ** EXPORT FAILED

mefilt commented 4 years ago
image
mefilt commented 4 years ago
image
trinhngocthuyen commented 4 years ago

Hi @mefilt, could you please help provide some more details about the issue:

Also, it looks like you're trying to build for device, with bitcode enabled. If so, you need to enable some options such as device_build_enabled, bitcode_enabled. Check out this doc for more details. Note that you need to prebuild the frameworks again with the 2 options above in order to use them.

mefilt commented 4 years ago

Hi @trinhngocthuyen, thx you! It's my pod.

1) it is a export error to ipa. I build project with help xcodebuild or xcode. Xcode created succes archive file, but i didnt creat ipa. 2) Problem build the project after prebuilt frameworks have been integrated But I noticed that even if I clear the cache, the git repository and the "build" folder, when building, for some lib it says "Framework already exists at". Is this correct? 3) I use use_frameworks! 4) Yeap, i readed manual and eneabled property "device_build_enabled" and "bitcode_enabled"

Thx man!

mefilt commented 4 years ago

It's my pod.

Podfile.zip

mefilt commented 4 years ago

adhocoom1_v2.logs.zip

trinhngocthuyen commented 4 years ago

@mefilt Thanks for the details. I'll look into the issue once I have time, and will keep you posted. Kindly remind that there are some private tokens appearing in the logs. You probably want to mask them before uploading it in the thread :)

mefilt commented 4 years ago

@trinhngocthuyen ooops. Thx man. I noticed that the problem is in my external projects. Since they also have pod dependencies. Described in podfile

trinhngocthuyen commented 4 years ago

Hi @mefilt, this issue seems to be similar with https://github.com/grab/cocoapods-binary-cache/issues/25, which should be fixed in https://github.com/grab/cocoapods-binary-cache/commit/bedc1b00560b374d956978a56f752263cfa1a41f.

Could you help check if your issue is resolved with that fix? Thanks

mefilt commented 4 years ago

Yep, i check and will writing to you

mefilt commented 4 years ago

@trinhngocthuyen Yeap. New error

/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:21:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMArray.h'

import <Realm/RLMArray.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:22:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMMigration.h'

import <Realm/RLMMigration.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:23:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMObject.h'

import <Realm/RLMObject.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:24:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMObjectSchema.h'

import <Realm/RLMObjectSchema.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:25:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMPlatform.h'

import <Realm/RLMPlatform.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:26:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMProperty.h'

import <Realm/RLMProperty.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:27:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMRealm.h'

import <Realm/RLMRealm.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:28:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMRealm+Sync.h'

import <Realm/RLMRealm+Sync.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:29:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMRealmConfiguration.h'

import <Realm/RLMRealmConfiguration.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:30:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMRealmConfiguration+Sync.h'

import <Realm/RLMRealmConfiguration+Sync.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:31:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMResults.h'

import <Realm/RLMResults.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:32:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMSchema.h'

import <Realm/RLMSchema.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:33:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMSyncConfiguration.h'

import <Realm/RLMSyncConfiguration.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:34:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMSyncCredentials.h'

import <Realm/RLMSyncCredentials.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:35:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMSyncManager.h'

import <Realm/RLMSyncManager.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:36:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMSyncPermission.h'

import <Realm/RLMSyncPermission.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:37:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMSyncSession.h'

import <Realm/RLMSyncSession.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:38:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMSyncSubscription.h'

import <Realm/RLMSyncSubscription.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Realm/_Prebuilt/Realm.framework/Headers/Realm.h:39:9: include of non-modular header inside framework module 'Realm': '/Users/rprokofev/Works/Waves/waveswallet-ios_dex/Pods/Headers/Public/Realm/RLMSyncUser.h'

import <Realm/RLMSyncUser.h>

    ^

❌ /Users/rprokofev/Works/Waves/waveswallet-ios_dex/DomainLayer/Sources/UseCases/MigrationUseCase.swift:12:8: could not build Objective-C module 'Realm'

import Realm ^

ARCHIVE FAILED

The following build commands failed: CompileSwift normal arm64 CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler (2 failures) The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'GoogleUtilities' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'ReachabilitySwift' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'RxReachability' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'FirebaseInstanceID' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'FirebaseMessaging' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'FirebaseRemoteConfig' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'GoogleToolboxForMac' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'SwiftGen' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'RxRelay' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'CSV.swift' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'IQKeyboardManagerSwift' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'Fabric' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'FirebaseDatabase' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'RxCocoa' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'leveldb-library' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'FirebaseInstallations' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'Protobuf' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'FirebaseAuth' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'Firebase' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'Crashlytics' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'Charts' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'SwiftProtobuf' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'GTMSessionFetcher' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'TTTAttributedLabel' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'RxFeedback' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'QRCode' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'GoogleAnalytics' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'FirebasePerformance' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'CryptoSwift' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'SwiftLint' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'FirebaseCoreDiagnostics' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'GoogleAppMeasurement' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'FirebaseCore' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'BigInt' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'FirebaseAnalytics' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'nanopb' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'GoogleDataTransport' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'KeychainAccess' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'Logging' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'FirebaseABTesting' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'RxSwift' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'SwiftMonkeyPaws' from project 'Pods') Skipping duplicate build file in Copy Bundle Resources build phase: /Users/rprokofev/Works/Waves/waveswallet-ios_dex/WavesWallet-iOS/Modules/Investment/Investment/Views/Cells/InvestmentHistoryCell.xib (in target 'WavesWallet-iOS' from project 'WavesWallet-iOS') Skipping duplicate build file in Compile Sources build phase: /Users/rprokofev/Works/Waves/waveswallet-ios_dex/WavesWallet-iOS/Modules/Investment/Investment/Views/Cells/InvestmentLeasingBalanceCell.swift (in target 'WavesWallet-iOS' from project 'WavesWallet-iOS') Skipping duplicate build file in Compile Sources build phase: /Users/rprokofev/Works/Waves/waveswallet-ios_dex/WavesWallet-iOS/CustomViews/HeaderWithArrowView.swift (in target 'WavesWallet-iOS' from project 'WavesWallet-iOS') Skipping duplicate build file in Compile Sources build phase: /Users/rprokofev/Works/Waves/waveswallet-ios_dex/WavesWallet-iOS/Modules/Investment/Investment/InvestmentModuleBuilder.swift (in target 'WavesWallet-iOS' from project 'WavesWallet-iOS') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'Sentry' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'QRCodeReader.swift' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'Amplitude-iOS' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.1, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'UPCarouselFlowLayout' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'MGSwipeTableCell' from project 'Pods') The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'Reveal-SDK' from project 'Pods') ERROR [2020-10-09 14:08:37.27]: Exit status: 65

trinhngocthuyen commented 4 years ago

Actually, this issue can be resolved in 2 ways:

1/ change the import from #import <AFramework/AHeader.h> to just @import AFramework;

or

2/ update the setting CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES=YES You can probably use this sample post_install hook in Podfile.

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings["CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES"] = "YES"
    end
  end
end

For your case, since the issue happens with 3rd party libs, probably you can use the 2nd approach to fix it

mefilt commented 4 years ago

One moment. I try

mefilt commented 4 years ago

1/ change the import from #import <AFramework/AHeader.h> to just @import AFramework;

import <Realm/RLMSyncSubscription.h>

This error inside library. And i don't want modify this library.

trinhngocthuyen commented 4 years ago

perhaps you can try the 2nd approach using the post_install hook

bazuka5801 commented 4 years ago

@trinhngocthuyen I have same issue like @mefilt with

ipatool failed with an exception: #<CmdSpec::NonZeroExitException
....

on my CI/CD setup, but on local it's works perfectly.

bazuka5801 commented 4 years ago

@trinhngocthuyen I solve this, this error

ipatool failed with an exception: #<CmdSpec::NonZeroExitException
....

throw if I enable rebuild from bitcode option when exporting app. If rebuild from bitcode is disabled - all is Okay!

trinhngocthuyen commented 4 years ago

@bazuka5801 Oh, I see. Thanks for the update. To summarize, the original issue can be resolved by unchecking the rebuild from bitcode option. In case that option is enabled, let's take that issue to another thread with more info for troubleshooting. Thanks!

mefilt commented 4 years ago

@trinhngocthuyen its workkkk! Mann! Thx you.