你做了什么?
我尝试运行pod install命令
您预计会发生什么?
像 1.1.1 版本一样正确安装所有 pod 依赖项。
发生了什么?
[!] Unable to find host target(s) for myExtension1, myExtension2. Please add the host targets for the embedded targets to the Podfile. Certain kinds of targets require a host target. A host target is a "parent" target which embeds a "child" target. These are example types of targets that need a host target:
- Framework
- App Extension
- Watch OS 1 Extension
- Messages Extension (except when used with a Messages Application)
CocoaPods 环境
Stack
CocoaPods : 1.2.1
Ruby : ruby 2.2.5p319 (2016-04-26 revision 54774) [x86_64-darwin15]
RubyGems : 2.4.5.1
Host : Mac OS X 10.12.5 (16F73)
Xcode : 8.3.3 (8E3004b)
Git : git version 2.13.0
Ruby lib dir : /Users/dogo/.rbenv/versions/2.2.5/lib
Repositories : master - https://github.com/CocoaPods/Specs.git @ 08682dc5b65d664048f43d7886a018856c692b63
安装源
Executable Path: /Users/dogo/.rbenv/versions/2.2.5/bin/pod
插件
claide-plugins : 0.9.2
cocoapods-deintegrate : 1.0.1
cocoapods-plugins : 1.0.0
cocoapods-search : 1.0.0
cocoapods-stats : 1.0.0
cocoapods-trunk : 1.2.0
cocoapods-try : 1.1.0
slather : 2.4.2
播客文件
source 'https://github.com/CocoaPods/Specs.git'
project 'MyProject', 'DebugProduction' => :release , 'Integrated' => :release , 'Mock' => :release, 'DebugMock' => :debug
platform :ios, '8.0'
inhibit_all_warnings!
def all_pods
pod 'AFNetworkActivityLogger'
pod 'AFNetworking'
pod 'AMPopTip', '~> 1.0.0'
pod 'BBBadgeBarButtonItem', '~> 1.2'
pod 'Bricks', '~> 0.1.2'
pod 'bricks-Mantle', '~> 0.1.0'
pod 'CocoaLumberjack', '~> 2.2.0'
pod 'Crashlytics'
pod 'CustomIOSAlertView'
pod 'Fabric'
pod 'FBSDKCoreKit', '4.16.0'
pod 'FBSDKLoginKit', '4.16.0'
pod 'FBSDKShareKit', '4.16.0'
pod 'FDKeychain', '~> 1.0.0'
pod 'FSCalendar'
pod 'GoogleAnalytics', '~> 3.17.0'
pod 'GoogleConversionTracking', '~> 3.4.0'
pod 'GoogleMaps', '2.3.1'
pod 'HockeySDK', '4.1.6'
pod 'JVFloatLabeledTextField'
pod 'LGPlusButtonsView'
pod 'MaryPopin', '1.4.2'
pod 'MBProgressHUD'
pod 'MGSwipeTableCell'
pod 'MMWHaleImageCropper', '~> 0.1'
pod 'NSStringMask', '1.2'
pod 'ObjectiveSugar', '~> 1.1.0'
pod 'PromiseKit', '~> 1.7.0'
pod 'Realm', '~> 2.3.0'
pod 'REFrostedViewController', '~> 2.4'
pod 'RegExCategories', '~> 1.0'
pod 'SMXMLDocument', '~> 1.1'
pod 'SpotlightHandler', :git => 'https://github.com/renatosarro/SpotlightHandler'
pod 'SRMonthPicker', '~> 0.2.10'
pod 'TLInputsChainHelper', :git => 'https://github.com/thiagolioy/TLInputsChainHelper.git'
pod 'TLJsonFactory'
pod 'UITintedButton'
pod 'XMLDictionary', '1.4'
pod 'ZBarSDK'
pod 'ZSWTaggedString', '~> 1.1'
pod 'ZSWTappableLabel', '1.3'
end
target :MyProject do
all_pods
end
target :'MyProject-cal' do
all_pods
end
target :MyProjectExtension do
pod 'GoogleAnalytics', '~> 3.17.0'
end
target :MyProject2 do
all_pods
end
target :'MyProject2-cal' do
all_pods
end
target :MyProjectExtension2 do
pod 'GoogleAnalytics', '~> 3.17.0'
end
target :MyProjectTests do
inherit! :search_paths
pod 'Expecta'
pod 'OCMock'
pod 'Specta', '1.0.5'
pod 'TLJsonFactory'
end
最佳答案
问题不在podfile,而在project!
修复:
关于ios - 找不到扩展的主机目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45419887/
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r
这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下
我有一个存储主机名的Ruby数组server_names。如果我打印出来,它看起来像这样:["hostname.abc.com","hostname2.abc.com","hostname3.abc.com"]相当标准。我想要做的是获取这些服务器的IP(可能将它们存储在另一个变量中)。看起来IPSocket类可以做到这一点,但我不确定如何使用IPSocket类遍历它。如果它只是尝试像这样打印出IP:server_names.eachdo|name|IPSocket::getaddress(name)pnameend它提示我没有提供服务器名称。这是语法问题还是我没有正确使用类?输出:ge
我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的
我想这样组织C源代码:+/||___+ext||||___+native_extension||||___+lib||||||___(Sourcefilesarekeptinhere-maycontainsub-folders)||||___native_extension.c||___native_extension.h||___extconf.rb||___+lib||||___(Rubysourcecode)||___Rakefile我无法使此设置与mkmf一起正常工作。native_extension/lib中的文件(包含在native_extension.c中)将被完全忽略。
1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里
我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions
我已经看到了一些其他的问题,尝试了他们的建议,但没有一个对我有用。我已经使用Rails大约一年了,刚刚开始一个新的Rails项目,突然遇到了问题。我卸载并尝试重新安装所有Ruby和Rails。Ruby很好,但Rails不行。当我输入railss时,我得到了can'tfindgemrailties。我当前的Ruby版本是ruby2.2.2p95(2015-04-13修订版50295)[x86_64-darwin15],尽管我一直在尝试通过rbenv设置ruby2.3.0。如果我尝试rails-v查看我正在运行的版本,我会得到同样的错误。我使用的是MacOSXElCapitan版本10
我有一个要在我的Rails3项目中使用的数组扩展方法。它应该住在哪里?我有一个应用程序/类,我最初把它放在(array_extensions.rb)中,在我的config/application.rb中我加载路径:config.autoload_paths+=%W(#{Rails.root}/应用程序/类)。但是,当我转到railsconsole时,未加载扩展。是否有一个预定义的位置可以放置我的Rails3扩展方法?或者,一种预先定义的方式来添加它们?我知道Rails有自己的数组扩展方法。我应该将我的添加到active_support/core_ext/array/conversion