错误ITMS-90206无效的捆绑包含不允许的文件'框架'

时间:2016-03-02 13:43:16

标签: ios xcode cocoapods ios-frameworks swift-custom-framework

我在将应用程序通过Xcode上传到商店时遇到了问题,特别是这个。

Invalid Bundle contains disallowed file frameworks

我看到很多关于此错误的帖子,但所有人都在谈论Extension App,我不使用。

我正在使用Custom frameworkCocoapods

你可以在这里看到我的树:

Tree Xcode Project Custom Framework

  • XXX 是我的项目应用名称
  • SharedXXX 是我的custom framework
  • 广告是由cocoa pods
  • 创建的项目

这是我的可可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

custom framework SharedXXX )构建设置:

Custom Framework build settings

我将Embedded属性设置为Yes

custom framework SharedXXX )的常规设置:

Custom Framework General Settings

Cocoapods提供的框架是相互关联的。

完成,

主项目的常规设置(App Project:树上名为 XXX

Main project

有什么想法吗?

2 个答案:

答案 0 :(得分:22)

我解决了问题

首先,设置为Build Settings

  • 对于主项目(此处 XXX ):Embedded Content Contains Swift Code

  • 自定义框架( SharedXXX ):Embedded Content Contains Swift CodeNO

  • 自定义框架( SharedXXX ):Runpath Search Path = @executable_path/../../Frameworks

这帮助我解决了这个问题

答案 1 :(得分:3)

我在尝试从 Xcode 9.3 上传时遇到了同样的问题 发生这种情况是因为我在 OneSignal中添加了“use_frameworks” NotificationServiceExtension

enter image description here

构建设置中的始终嵌入Swift标准库值应仅针对您的主项目设置为,而不应针对您的自定义框架或扩展。