Search code examples
iosxcodecocoapodsios-frameworksswift-custom-framework

Error ITMS-90206 Invalid bundle contains disallowed file 'Frameworks'


I have a problem uploading my application into the Store via Xcode, this one in particular.

Invalid Bundle contains disallowed file frameworks

I saw a lot of post about this error, but all are talking about Extension App, that I do not use.

I'm using a Custom framework and Cocoapods.

You can see here my tree :

Tree Xcode Project Custom Framework

  • XXX is my project app name
  • SharedXXX is my custom framework
  • Pods is the project created by cocoa pods

Here is my cocoa podFile :

use_frameworks!
link_with 'XXX', 'SharedXXX'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.1'


workspace 'XXX'

xcodeproj 'XXX/XXX.xcodeproj'
xcodeproj 'Shared/SharedXXX.xcodeproj'

def default_pods
    pod 'Reveal-iOS-SDK', :configurations => ['Debug']
    pod "SnapKit", '~> 0.17.0'
    pod "DKChainableAnimationKit", '~> 1.6.0'
    pod "AsyncSwift"
end

def shared_pods
    pod "Alamofire", '~> 3.0'
    pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git'
    pod 'ReachabilitySwift', :git => 'https://github.com/ashleymills/Reachability.swift'
end

target :XXX do
    xcodeproj 'XXX/XXX.xcodeproj'
    default_pods
    shared_pods
end

target :XXXDev do
    xcodeproj 'XXX/XXX.xcodeproj'
    default_pods
    shared_pods
end

target :SharedXXX do
    xcodeproj 'Shared/SharedXXXX.xcodeproj'
    shared_pods
end

Build settings for custom framework (SharedXXX) :

Custom Framework build settings

I set the Embedded property to Yes

General Settings for custom framework (SharedXXX) :

Custom Framework General Settings

The framework provided by Cocoapods is linked.

And to finish,

The General Settings to the main project (App Project : called XXX on the tree)

Main project:

Any idea ?


Solution

  • I solved the problem

    Firstly, set into Build Settings

    • For main project (here XXX) : Embedded Content Contains Swift Code to YES

    • Custom Framework (SharedXXX) : Embedded Content Contains Swift Code to NO

    • Custom Framework (SharedXXX) : Runpath Search Path = @executable_path/../../Frameworks

    This helped me solving that issue