我使用CocoaPods来管理项目中的依赖项.我写过Podfile:
target 'MyApp' do
platform :ios, '8.0'
# Uncomment this line if you're using Swift or would like to use dynamic frameworks
#use_frameworks!
# Pods for MyApp
pod 'KeepLayout', :git => 'https://github.com/iMartinKiss/KeepLayout', :tag => 'v1.6.0'
pod 'EasyMapping'
target 'MyAppTests' do
inherit! :search_paths
# Pods for testing
end
target 'MyAppUITests' do
inherit! :search_paths
# Pods for testing
end
end
Run Code Online (Sandbox Code Playgroud)
这个文件适用于CocoaPods 0.x,但是在我更新到CocoaPods 1.0后我无法编译项目.我跑完之后
pod update
Run Code Online (Sandbox Code Playgroud)
我无法编译我的项目错误:
/Users/<...>/Pods/KeepLayout/Sources/KeepAttribute.m:195:1:无法合成弱属性,因为当前部署目标不支持弱引用
我已经看到每个库都使用不同的部署目标进行构建.例如,使用4.3部署目标构建KeepLayout.
我如何确定每个pod依赖项的构建目标?
我正试图推出一个私人吊舱.当我这样做时,我收到此错误:
- ERROR | [iOS] unknown: Encountered an unknown error (Could not find aios simulator (valid values: ). Ensure that Xcode -> Window -> Devices has at least oneiossimulator listed or otherwise add one.) during validation.
我跑的Xcode 10,和我最近的Xcode 10.1测试版我的机器上.此外,我有常规的cocoapods(1.5.3)和最新的测试版(1.6.0.beta.1).
为了降低复杂性,我从我的机器中删除了两个测试版.所以,只是发布的版本.我仍然看到这个错误.
我无法想象这里发生了什么.但有些事情是不可能的.我真的更愿意不完全删除Xcode,或者做一些更激烈的事情.但我完全陷入困境.
我团队中的其他人能够提取代码,然后执行操作pod repo push,但我无法使用自己的机器.
感谢您提供任何帮助/建议.
我在这个spec文件中遇到语法错误:
Pod::Spec.new do |s|
s.name = "BSImageLoader"
s.version = "0.1.3"
s.summary = "The image loading framework for PicPoc"
s.homepage = "https://bitbucket.org/boolalsofware/bsimageloader"
s.license = 'MIT'
s.author = { "Spencer Comerford" => "Spencevail@gmail.com" }
s.source = { :git => "git@bitbucket.org:boolalsofware/bsimageloader.git", :tag => "0.1.3" }
s.source_files = 'Classes/*.{h,m}', 'Classes/PublicHeaders/*'
s.public_header_files = 'Classes/PublicHeaders/*.h'
s.dependency = 'BSTiledImageView', :git => 'git@bitbucket.org:boolalsofware/bstiledimageview.git'
s.frameworks = 'QuartzCore', 'AssetsLibrary', 'UIKit'
s.requires_arc = true
end
Run Code Online (Sandbox Code Playgroud)
问题在于依赖点指向了bitbucket repo.我已经使用本地依赖项,但由于某些原因使用git repo它不起作用.谢谢你的帮助!
我收到这个警告:
Class X is implemented in both <framework> and <application> one of the two will be used, which one is undefined
Run Code Online (Sandbox Code Playgroud)
这个警告在网络上有很多内容,但我没有发现任何可以解决我遇到的具体问题的内容.
脚本
我已经构建了MyFramework和MyApplication(作为MyFramework的测试/演示应用程序).
MyFramework使用CocoaPod(我将其称为CoolPod),我也想在MyApplication中使用它(并且假设MyFramework的消费者也是合理的).
我需要能够将MyFramework分发为.framework(用于封闭源代码).但是,这意味着MyFramework将CoolPod嵌入其编译库中.
现在当我将MyFramework和CoolPod导入MyApplication时,我得到了这个冲突(输出上面显示的警告),因为CoolPod的类已经包含在MyFramework的库中(因为嵌入了CoolPod).
所以我们有这个结构:
CoolPod -> MyFramework \
MyApplication
CoolPod /
Run Code Online (Sandbox Code Playgroud)
题
我该如何避免这种冲突?
我曾考虑在MyApplication中包含CoolPod的头文件(但不包括它的lib),但这对于一个简单的案例来说似乎过于复杂.
非常感谢任何帮助,这实在是在阻止我.
谢谢,
靛青
我正在使用Cocoapods 0.37.2,Xcode 6.3.2在Swift 1.2中进行iOS应用程序项目.在我的项目中添加大约8个pod后,应用程序启动时间在设备(iPhone 5)上大大增加(大约10秒钟).(注意:启动时间表示点击应用程序图标以打开应用程序的时间)
它是如此缓慢的iOS终止它,因为它没有及时启动.崩溃日志的顶部如下......
Application Specific Information: com.tryslowappswift failed to launch in time
Elapsed total CPU time (seconds): 27.720 (user 27.720, system 0.000), 68% CPU
Elapsed application CPU time (seconds): 0.074, 0% CPU
Thread 0:
0 dyld 0x1ff0f4c8 ImageLoaderMachOCompressed::rebase(ImageLoader::LinkContext const&) + 456
1 dyld 0x1ff087be ImageLoader::recursiveRebase(ImageLoader::LinkContext const&) + 174
2 dyld 0x1ff07dca ImageLoader::link(ImageLoader::LinkContext const&, bool, bool, bool, ImageLoader::RPathChain const&) + 186
3 dyld 0x1ff012fc dyld::link(ImageLoader*, bool, bool, ImageLoader::RPathChain const&) + 204
4 dyld 0x1ff022d6 dyld::_main(macho_header const*, unsigned long, …Run Code Online (Sandbox Code Playgroud) 我无法在我的系统中安装任何pod.因此,我从我的Mac中删除了cocoapods然后重新安装它.该过程是成功的,但是当我运行命令pod init后,错误显示在终端中:
`verify_minimum_git_version!': [!] You need at least git version 1.8.5 to use CocoaPods (Pod::Informative)
from /Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/command.rb:49:in `run'
from /Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/bin/pod:55:in `<top (required)>'
from /usr/local/bin/pod:23:in `load'
from /usr/local/bin/pod:23:in `<main>'
Run Code Online (Sandbox Code Playgroud)
我还检查了我的Git版本是1.8.4,但我得到任何解决方案来更新相同的.
我有一个 react native 项目,想为 iOS 本机细节安装可可豆荚,但安装失败,我在 Mac book pro 上安装了 ruby ruby 2.5.1p57
我已将错误发布下来,将不胜感激
pod install
Analyzing dependencies
Fetching podspec for `DoubleConversion` from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`
Fetching podspec for `Folly` from `../node_modules/react-native/third-party-podspecs/Folly.podspec`
Fetching podspec for `GLog` from `../node_modules/react-native/third-party-podspecs/GLog.podspec`
Fetching podspec for `React` from `../node_modules/react-native`
Fetching podspec for `react-native-fetch-blob` from `../node_modules/react-native-fetch-blob`
Fetching podspec for `react-native-google-maps` from `../node_modules/react-native-maps`
Fetching podspec for `react-native-maps` from `../node_modules/react-native-maps/`
Fetching podspec for `yoga` from `../node_modules/react-native/ReactCommon/yoga`
Downloading dependencies
Using DoubleConversion (1.1.5)
Using Folly (2016.09.26.00)
Installing GLog (0.3.4)
#<Thread:0x00007fd5349ba008@/usr/local/lib/ruby/gems/2.5.0/gems/cocoapods-1.5.3/lib/cocoapods/executable.rb:166 run> terminated …Run Code Online (Sandbox Code Playgroud) 我做的步骤:
pod repo remove master
pod setup
pod update --verbose (只是为了检查进度,特别是在更新Google SDK时,需要很长时间才能完成).
在那里,我得到了警告.在我的日志中,Google SDK已成功更新:
- >安装Google 3.1.0(原为3.0.3)
- >安装GoogleMaps 2.3.0(原为2.2.0)
Podfile:
target 'MyProj' do
...
pod 'Google/Analytics'
pod 'GoogleMaps'
...
target 'MyProjTests' do
inherit! :search_paths
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
我想知道如何摆脱这个警告.
我正在尝试更新我的pod使用pod install并发现它没有正确更新,除非我删除原始pod.
是否需要一些额外步骤,或者是否存在导致更新失败的常见错误?
关闭MagicalRecord注销需要在项目首次包含之前进行#define,但是对于由Cocoapods管理的项目,我无权在Pods项目中添加#define.在这种情况下如何完全关闭注销?
花了几个小时找出办法,在这里张贴,希望它能帮助别人.
编辑:这不是重复,因为它讨论了在Cocoapods下关闭日志