2016-03-02 21 views
7

Mam problem z załadowaniem mojej aplikacji do Sklepu za pośrednictwem Xcode, w szczególności tego.Błąd ITMS-90206 Niepoprawny pakiet zawiera niedozwolony plik "Frameworks"

Invalid Bundle contains disallowed file frameworks

Widziałem dużo post o tym błędzie, ale wszyscy mówią o Extension App, że nie używam.

Używam Custom framework i Cocoapods.

Widać tu moje drzewa:

Tree Xcode Project Custom Framework

  • XXX jest mój projekt aplikacji nazwa
  • SharedXXX jest moje custom framework
  • Pods to projekt stworzony przez cocoa pods

Oto mój kakao 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 

ustawienia budowania custom framework (SharedXXX):

Custom Framework build settings

ustawić właściwość wbudowanego do Yes

Ustawienia ogólne dla custom framework (SharedXXX)

Custom Framework General Settings

ramy zapewnia Cocoapods jest związane.

A na zakończenie,

ustawieniach ogólnych do głównego projektu (App projektu: nazywa XXX na drzewie)

Main project:

Każdy pomysł?

+0

Z komunikatu o błędzie wygląda jak samo SharedXXX.frameworks zawiera plik o nazwie „ram ". Najwyraźniej jabłko tego nie lubi. Sprawdź i sprawdź, czy istnieje plik o tej nazwie. Jeśli nie, upewnij się, że przez pomyłkę nie ma dwukrotnego odniesienia do frameworka. Jeśli wszystko inne zawiedzie Google kod błędu –

+0

Już goedogled kod błędu, ale wszyscy mówią o właściwości 'Embedded Swift' .. Nie mam pliku o nazwie" Frameworks "w moim projekcie .. Czy to może być plik z Cocoapods? – thedjnivek

+0

Zobacz moją odpowiedź tutaj - http://stackoverflow.com/questions/29608264/error-itms-90451-cfbundleidentifier-collision-error/40396491#40396491 – Kumar

Odpowiedz

18

I rozwiązać problem

Po pierwsze, zestaw do Build Settings

  • Do projektu głównego (tu XXX): Embedded Content Contains Swift Code do TAK

  • ram niestandardowa (SharedXXX): Embedded Content Contains Swift Code do NO

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

To pomogło mi rozwiązać ten problem

+0

Po ustawieniu osadzonej zawartości Zawiera kod SWIFT na NIE dla ram niestandardowej nie możliwe zainstalowanie aplikacji za pomocą TestFlight. Aplikacja została pomyślnie przesłana do iTunes, ale po pobraniu z aplikacji TestFlight po pobraniu w 80% pojawia się komunikat Nie można pobrać aplikacji. –