- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我试图创建我的第一个 podspec 结合 ObjC 和 Swift 代码,但我很快就偶然发现了一个我在上传时无法解决的顽固错误
Copying MyLibrary from
/Users/lukasschwoebel/Library/Caches/CocoaPods/Pods/External/MyLibrary/540307feb534d63ad9015f3f6452b3ad-be661
to../../../../../../private/var/folders/2p/_pc_vts51b3_pfydgm7_2n200000gn/T/CocoaPods/Lint/Pods/MyLibrary
- Running pre install hooks -> MyLibrary (0.1.0) - ERROR | [iOS] Encountered an unknown error (Pods written in Swift can only be integrated as frameworks; this feature is still in beta. Adduse_frameworks!
to your Podfile or target to opt into using it. The Swift Pod being used is: MyLibrary) during validation.
这是我使用的命令:
pod repo push test-podspecs MyLibrary/MyLibrary.podspec --use-libraries --allow-warnings --verbose
如您所见,这是来自 CocoaPods 的最小未修改示例项目,如下所述:https://guides.cocoapods.org/making/using-pod-lib-create.html由于我什至无法运行此示例,我怀疑我的 cocoapods 配置有问题。
我确保 pod 中没有要上传的单个 Objective C 行(尽管最后,我想要一个混合了 ObjC 和 Swift 代码的 podspec,但此时我只想拥有使用 Swift 的工作 podspec)。
我什至无法使用纯 Swift 上传这个简单的 pod。我首先尝试使用 CocoaPods v0.39.0,然后降级到 0.38.2,之后是 0.38.0,甚至是 0.36.0。即使完全卸载了 CocoaPods。
看来我需要在 CocoaPods 中配置一些东西才能上传 Swift podspec?我得到的错误显然是在 Podfile 需要 use_frameworks 的 Pod 的构建阶段!被包括。那么在podspec验证的时候如何让CocoaPods在编译pod的时候使用它呢?
此外,我安装了 Xcode 7.0.1 和 OSX 10.10.5,它是 Swift 2.0 代码。
提前致谢!
这是完整的 podspec,改编自最初创建的 MyLibrary.podspec(是的,这是一个本地 Podspec-Repo,但这不会导致/改变错误)
Pod::Spec.new do |s|
s.name = "MyLibrary"
s.version = "0.1.0"
s.summary = "A short description of MyLibrary."
s.description = 'Sample Description'
s.license = 'MIT'
s.author = { "Luke A." => "ls@mymail.to" }
s.source = { :git => "file:///Users/.../test/MyLibrary/", :tag => s.version.to_s }
s.platform = :ios, '8.0'
s.requires_arc = true
s.source_files = 'Pod/Classes/**/*'
s.resource_bundles = {
'MyLibrary' => ['Pod/Assets/*.png']
}
s.frameworks = 'UIKit'
end
最佳答案
我刚刚找到了答案,这似乎有点显而易见。
上传/推送 pod 的命令在 bash 脚本中,因此我不必总是键入所有标志,而只需键入 podspec 的文件名/路径即可。因此,在默认的 bash 脚本中,我有一个标记 --use-libraries
,这是我的一个 pod 所必需的。
当我尝试一些东西并在 pod repo push ..
命令中出现错字时,我偶然发现了手册页:
--use-libraries Linter uses static libraries to install the spec
对于静态库,这个标志似乎与 Swift podspecs 不兼容。删除该标志 lints 并成功推送我的 podspec。
关于ios - 无法 Lint/推送 Swift Cocoapods podspec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33203410/
PHPLint、JSLint,我最近在阅读一些IDE. 那么,什么是“linting”? 最佳答案 Linting 是运行程序的过程,该程序将分析代码是否存在潜在错误。 参见lint在维基百科上: l
Elixir是否有 Lint (如Javascript)可以检查每个函数是否具有类型规范? 最佳答案 有一个Erlang编译器开关+warn_missing_spec可以做到这一点,但是目前我无法使其
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
例如,我让它在 .rb 和 .js 文件上匹配。 例如**/*.{js,rb} 并且还想在 Gemfile 和 Rakefile 上进行匹配。 最佳答案 解决方案是递归地使用 {},例如 "lin
我有一个自述文件,其中包含文件夹的文档、包含的库以及如何使用它们。 自述文件不是任何库的一部分,因此 nx-lint 会引发此错误: NX ERROR The following file(s
我的 React Native 构建突然失败并出现错误,尽管一天前工作得很好,没有任何相关的更改。 FAILURE: Build failed with an exception. * What we
我有一个 lint-gradle-api.jar 错误,我在论坛上查看了其他类似的问题,但我仍然有问题。有人有想法吗? Error running Gradle: Exit code 1 from:
我已经将 Android Studio 更新到 3.2.1,现在停止了这样的问题:找不到 lint-gradle-api.jar (com.android.tools.lint:lint-gradle
我目前正在从 tslint 迁移到 eslint。我在我的 .eslintignore 中配置了几个文件夹,我想从 linting 中完全忽略它们。这确实有效,但现在我收到错误: “无效的 lint
Q (tldr;): 我如何使用 android-lint 中的 JavaScanner 检查特定函数调用是否具有特定作为参数的字符串已被 try/catch block 包围。 详细信息:我已经完成
我有一个在 Cocoapods 上发布的库。 当我运行pod lib lint时从包含 MyProject.podspec 的目录中,命令行挂起 $ pod lib lint -> MyProject
我正在尝试使用 Android lint 来检查有关我的项目的一些事情。它似乎忽略了我提供的 lint.xml 文件,使我无法启用检查。 我在 Ubuntu 14.04 上使用 Android Stu
我正在使用工具栏附带的 CodeMirror 设计一个应用程序。由于性能原因,我没有通过异步或异步模式执行 lint。 我在工具栏中提供了一个图标,单击它我正在解析和构建错误。但是我对如何在编辑器中更
使用 ./gradlew lintDebug 生成 Android lint 报告时,报告中不包括 javac lint 错误,例如弃用或未经检查的转换。 我目前只是在编译时启用这些 javac 选项
默认情况下,在 gradle 中为发布构建启用了 lint。没有 abortOnError false 此选项会中止构建。 我的发布构建成功执行(没有 lint 警告),但是当我通过 gradle 调
我有一个使用 Android 构建工具版本 1.3.1 的 gradle Android 构建,并对我的代码运行 lint 检查。运行 Sonar 任务(由 org.sonarqube gradle
只是想知道是否有人可以帮助我进行 Gulp 设置。目前我正在使用 gulp-sass 和 gulp-scss-lint 进行监视任务。我想要发生的是,当为 linting 任务完全运行保存一个 scs
我正在做一个项目,最近更新到 android Gradle 构建工具 3.0.0 (com.android.tools.build:gradle:3.0.0)。我现在在通过 Android studi
我有一个带有 gradle 的 Android 项目。虽然 gradle 插件是 2.x.x,但运行 ./gradlew lint 的时间大约为 4 分钟。我已经将项目升级到 gradle plugi
事情是这样的。我有一个与 API 15 及更高版本兼容的应用程序,但由于它非常大并且我已经达到 65k 方法限制,我不得不将它设为 MultiDexApplication 类的后代。这会稍微减慢构建时
我是一名优秀的程序员,十分优秀!