2017-11-08 2 views
2

Ich versuche, einen privaten cocoapod für meine Cocoa Touch Framework (swift Version 4.0) zu bauen, die eine Abhängigkeit von React-india v0.46.4 und Yoga hat, diese podspec mit:Wie erstellt man einen privaten CocoaPod mit Abhängigkeit von einer bestimmten reaktiven nativen Version?

react_native_version = '0.46.4' 

Pod::Spec.new do |s| 
  s.name             = 'MyLibrary' 
  s.version          = '0.1.0' 

  s.source           = { :git => 'https://github.com/mylibrary.git', :tag => s.version.to_s, 
                         :git => 'https://github.com/facebook/react-native.git', :tag => "v#{react_native_version}" 
                       } 

  s.platform       = :ios, '11.0' 
  s.requires_arc   = true 

  s.source_files        = 'MyLibrary/Classes/**/*.swift' 
  s.resources           = 'MyLibrary/Assets/*.{png,storyboard}' 
  s.public_header_files = 'MyLibrary/Classes/**/*.h' 

  s.frameworks = 'UIKit', 'ARKit', 'SceneKit', 'SpriteKit' 

  s.dependency 'ADAL', '~> 2.2' 

  s.dependency 'Yoga', "#{react_native_version}.React" 
  s.dependency 'React/Core', react_native_version 
  s.dependency 'React/BatchedBridge', react_native_version 
  s.dependency 'React/DevSupport', react_native_version 
  s.dependency 'React/RCTText', react_native_version 
  s.dependency 'React/RCTImage', react_native_version 
  s.dependency 'React/RCTLinkingIOS', react_native_version 
  s.dependency 'React/RCTSettings', react_native_version 
  s.dependency 'React/RCTVibration', react_native_version 
  s.dependency 'React/RCTGeolocation', react_native_version 
  s.dependency 'React/RCTActionSheet', react_native_version 
  s.dependency 'React/RCTAnimation', react_native_version 
  s.dependency 'React/RCTNetwork', react_native_version 
  s.dependency 'React/RCTWebSocket', react_native_version 

End 

Und ich m nicht in der Lage, die Linter Kontrollen passieren, wenn ich pod lib Flusen wie folgt ausführen:

pod lib Flusen MyLibrary.podspec --sources = https://github.com/facebook/react-native.git,master

-> MyLibrary (0.1.0) 
- WARN  | source: The version should be included in the Git tag. 
- ERROR | [iOS] unknown: Encountered an unknown error (An 
unexpected version directory `Base` was encountered for the 
`/Users/administrator/.cocoapods/repos/facebook/React` Pod in the 
`React` > repository. 

ich habe die Dokumentation auf https://guides.cocoapods.org und getan viel gelesen von Bruder wssing aber immer noch nicht sicher, ob dies die richtige Syntax ist, um auf eine bestimmte Version eines Repositorys zu verweisen, oder ob dies überhaupt unterstützt wird oder nicht?

(Ich verwende CocoaPods 1.3.1 XCode9 und Swift 4.)

Antwort

1

Die Podfile hat die Fähigkeit, wo außer Kraft zu setzen, eine Abhängigkeit zu finden. Z.B. das Git Repo/Tag. Z.B. pod 'React', :git => 'https://github.com/artsy/React.git', :tag => '0.7.0'

Der Podspec dicatates, was die Abhängigkeit ist. z.B. s.dependency 'React'

+0

Danke, genau wie ich vermutet habe, was ich hier versuche, wird nicht einmal unterstützt. Aber wirklich neugierig, wie bewältigt man die Probleme der diktierten Abhängigkeit in einem Podspec? Und was ist der Grund für diese unterschiedliche Flexibilität der Deklaration von Abhängigkeiten zwischen Podfile und Podspec? – user101010

Verwandte Themen