标签: podspec

将带有源的 Pod 依赖项添加到 .podspec

我正在尝试将以下依赖项添加到我的 Podspec

s.dependency 'Apollo/WebSocket', :git => 'https://github.com/apollographql/apollo-ios'
Run Code Online (Sandbox Code Playgroud)

每当我尝试运行时,这是我在终端中得到的pod lib lint MyPodName.podspec

- ERROR | spec: The specification defined in `MyPodName.podspec` could not be loaded.


[!] Invalid `MyPodName.podspec` file: [!] Unsupported version requirements.

 #  from <PathToMyPodspec>/MyPodName.podspec:36
 #  -------------------------------------------
 #    
 >    s.dependency 'Apollo/WebSocket', :git => 'https://github.com/apollographql/apollo-ios'
 #    
 #  -------------------------------------------
Run Code Online (Sandbox Code Playgroud)

我已经成功地将它用作我的一个 iOS 项目中的 Pod。但是现在我自己正在创建一个 pod,我很难理解我应该怎么做才能让它工作。

先感谢您!

dependencies ios cocoapods podspec swift

7
推荐指数
4
解决办法
2万
查看次数

如何在ios中通过cocoapods使用供应商框架发送dsym文件

我创建了一个通过 cocoapods 发送的供应框架。现在我想将 dsym 文件也与框架一起发送,以便我的崩溃可以显示在控制台中并包含在存档的 ipa 的 dsym 中。

我尝试在框架中复制 dsym,但在存档构建时抛出“bit_strip 错误”。

提前致谢

frameworks cocoapods dsym podspec swift

7
推荐指数
1
解决办法
1476
查看次数

Xcode 新构建系统 CocoaPods“复制 Pods 资源”在输出文件中包含 Assets.car 并与“复制捆绑资源”冲突

我们在 Xcode 项目中使用新的构建系统和 Cocoapods 1.7.5。我们的项目(我们称之为 Y)实际上是一个开发 pod,但我们还编写了一些代码来创建应用程序演示(您知道,为了使构建更快、迭代更快)。这些演示代码(AppDelegate.swift、启动任务等)不包含在开发容器中。剩余的大约 90% 的源代码和资源文件(例如 i18n 字符串和图像资源)被打包到开发 pod 中,供另一个项目(我们称之为 X)使用。

\n

在开发过程中,大部分更改发生在 Y 的 dev pod 部分,因此我们需要确保 X 执行时包含所有更改pod install

\n

最近我们遇到一个问题:

\n
error: Multiple commands produce \'/Users/x/Library/Developer/Xcode/DerivedData/Y-cawteybtitmeiafweribgqzkuhnr/Build/Products/Debug-iphoneos/Y.app/Assets.car\':\n1) Target \'Y\' (project \'Y\') has compile command with input \'/Users/name/DEV/workspace/Y/SupportFiles/Assets.xcassets\'\n2) That command depends on command in Target \'Y\' (project \'Y\'): script phase \xe2\x80\x9c[CP] Copy Pods Resources\xe2\x80\x9d\n
Run Code Online (Sandbox Code Playgroud)\n

经过几个小时的multiple commands produce assets.car谷歌搜索,我们终于看到了一个合理的解释

\n
\n

复制捆绑资源的 *.xcassets --> Assets.car

\n

[CP] 复制 …

xcode ios cocoapods podspec

7
推荐指数
2
解决办法
1万
查看次数

将 iOS 项目添加到现有 Ionic 5 项目时,未找到“package”的 podspec

我为 Ionic 和 Capacitor 构建了一个 Capacitor 插件,并将其发布到 NPM - 称之为它test1。然后我在我的 Ionic 5 项目中使用它并通过以下方式成功添加一个新的 Android 项目:

ionic build 
ionic cap add android 
ionic cap sync
Run Code Online (Sandbox Code Playgroud)

测试了一下,它有效。然后我尝试通过以下方式添加 iOS:

ionic build 
ionic cap add ios 
Run Code Online (Sandbox Code Playgroud)

然后我收到以下错误:

`[!] No podspec found for `Test1` in `../../node_modules/test1```
Run Code Online (Sandbox Code Playgroud)

但它失败了。我不明白为什么,因为Test1Plugin.podspec根目录中有一个具有相关依赖项的文件和一个ios/Podfile具有相关依赖项的文件。我还确保这两个文件都发布到 npm。

我尝试将文件名更改.podspecTest1.podspec,但这是完全相同的问题。

我很困惑,希望有人能给我一些指示,因为我已经在这方面有一段时间并尝试了一切。

ionic-framework podspec capacitor ionic5 capacitor-plugin

7
推荐指数
0
解决办法
782
查看次数

为iOS和OSX开发CocoaPod

我已经为iOS发布了一个CocoaPod,并希望在OS X上也可以使用它.我修复了我的PodSpec,以便它可以用于iOS和Mac OS X:

Pod::Spec.new do |s|
  s.name             = "EveryoneAPI"
  s.version          = "0.9.5"
  s.summary          = "An objective-c wrapper for EveryoneAPI.com's API"
  s.description      = <<-DESC
                       To retrieve all information for EveryoneAPI use the following:
                            EveryoneAPI *everyoneAPI = [[EveryoneAPI alloc] initWithAccountSID:@"ACb8444c3013dc40518e46b48c91f82ba0" withAuthToken:@"AUe90abecac85645ca8a314d41e9b55079"];

                            [everyoneAPI getInformation:EveryoneAPIReturnAllInfo forPhoneNumber:@"5551234567" withSuccessHandler:^(EveryoneAPIResponseObject *responseObject){
                                } withErrorHandler:^(NSError *error, NSNumber *statusCode, NSString *readableError){
                            }];
                       DESC
  s.homepage         = "https://github.com/msencenb/EveryoneAPI"
  s.license          = 'MIT'
  s.author           = { "Matt Sencenbaugh" => "my_email@gmail.com" }
  s.source           = { :git => "https://github.com/msencenb/EveryoneAPI.git", :tag => s.version.to_s }

  s.ios.deployment_target = …
Run Code Online (Sandbox Code Playgroud)

macos ios cocoapods podspec

6
推荐指数
1
解决办法
737
查看次数

在cocoapods Podspec中定义自定义模块映射文件

我创建了一个自定义module map文件来处理libxmlswift项目中的导入.(non-modular include错误)

如果我手动执行它,它会工作得很好,但是cocoapods当我尝试pod lint一个包含来自此自定义模块的导入的简单项目时,它将无法找到/解析该模块.

我试过s.module_map = "module/module.modulemap"

core.xcconfig = {'HEADER_SEARCH_PATHS'=>'$(SDKROOT)/ usr/include/libxml2 $(SRCROOT)/ module $(SDKROOT)/ usr/include/libresolv','OTHER_LDFLAGS'=>'" - lxml2"' ,'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES'=>'是','ENABLE_BITCODE'=>'否',"SWIFT_INCLUDE_PATHS"=>"$(SRCROOT)/ module"}

任何帮助,将不胜感激.

ios cocoapods podspec swift

6
推荐指数
1
解决办法
5061
查看次数

Pod安装失败,私有pod从私有repo作为二进制文件提供

我有一个私人吊舱和一个私人规格仓库.我作为二进制文件提供pod,即podspec说:

s.source = { 
  :http => 'https://github.com/COMPANY/PROJECT/releases/download/v1.0/PrivatePod.zip' 
}
Run Code Online (Sandbox Code Playgroud)

我的Podfile具有以下源信息:

source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/COMPANY/Specs.git'
Run Code Online (Sandbox Code Playgroud)

当我运行pod installgit提示输入密码来克隆我的私有spec repo时,这很棒.

但是,pod install尝试使用curl没有身份验证的二进制zip包,因此GitHub返回404:

Installing PROJECT 1.0 (was 1.0)

[!] Error installing PROJECT [!] /usr/bin/curl -f -L -o /var/folders/_g/52mwshws60v8622n81hv7h7w0000gn/T/d20170608-80045-1l3flqz/file.zip https://github.com/COMPANY/PROJECT/releases/download/v1.1/PrivatePod.zip --create-dirs --netrc-optional
...
curl: (22) The requested URL returned error: 404 Not Found
Run Code Online (Sandbox Code Playgroud)

我不想公开二进制文件.有没有办法告诉CocoaPods在这里做一些认证?

我尝试将凭证放入.netrc其中,CocoaPods似乎很乐意使用,但GitHub仍然无法使用404的请求,即使我看到curl现在正在使用基本身份验证.如果我使用netrc for auth使用curl发出API请求,我会得到很好的响应.但我无法下载发布资产.

我可以使用.netrc从api端点获取发布资产,但只有在我指定时-H 'Accept: application/octet-stream',我才知道如何让CocoaPods这样做.

github cocoapods podspec podfile

6
推荐指数
1
解决办法
796
查看次数

尝试将资源中的.xcassets添加到podspec文件中时出错

我正在尝试创建CocoaPod,但是当我尝试验证Pod规格文件时,请向我显示此错误。

- ERROR | [iOS] unknown: Encountered an unknown error (Unable to find other source ref for /Users/jhgonzalez/Desktop/MyApp/Me/cocoaPod/JCore-ui/LibraryComponents/Resources/JCore-ui.xcassets/Contents.json for target JCore-ui.) during validation.
Run Code Online (Sandbox Code Playgroud)

这是我的podspec文件。

Pod::Spec.new do |s|
s.name             = 'JCore'
s.version          = '0.2.3'
s.summary          = 'This is an UI Lib for iOS'
s.platform         = :ios, "10.0"

s.description      = <<-DESC
                  This is an UI Lib to iOS. This description is too large than summary 
                   DESC

s.license          = { :type => 'MIT', :file => 'LICENSE' }
s.author           = { 'Josue Hernandez' => …
Run Code Online (Sandbox Code Playgroud)

xcode pod cocoapods podspec

6
推荐指数
1
解决办法
323
查看次数

#if canImport()未找到带有CocoaPods的框架

您好,这里是我们的Podspec,它具有default_subspec和可选的子规范(由于已经设置了默认值,因此不会使用)。该子规格具有更多功能,但需要额外的8MB大小...

`s.default_subspec = 'mainSDK'

s.subspec 'mainSDK' do |mainSDK|
mainSDK.vendored_frameworks = 'mainSDK.framework'
mainSDK.source_files = "mainSDK.framework/Headers/*.h"
end

s.subspec 'additionalSDK' do |additionalSDK|
additionalSDK.source_files = "additionalSDK.framework/Headers/*.h"
additionalSDK.vendored_frameworks =['additionalSDK.framework', 'mainSDK.framework']
end
Run Code Online (Sandbox Code Playgroud)

现在,在我们的mainSDK中,我们在#if canImport(additionalSDK)中包含了AdditionalSDK,然后在这些编译器标志之间提供了与AdditionalSDK 相关的代码,如下所示:

#if canImport(additionalSDK)
    //adding optional delegate
    class ViewController: UIViewController, OptionalDelagate
#else
    //no need for delagete
    class ViewController: UIViewController
#endif
Run Code Online (Sandbox Code Playgroud)

但是,客户端集成了我们mainSDK后,他认为,该框架是缺少模块:additionalSDK.framework

这怎么可能?我们已经在工作空间中将AdditionalSDK标记为可选。我们试图设置additionalSDK-weak_framework其他连接标志(构建设置),但这并没有帮助。

如果客户端集成了额外的 SDK,则所有框架都将正常运行,因为所有框架都已链接。

可选的依赖关系,没有的CocoaPods做工精良,它的CocoaPods的只是问题或我不知道如何配置它

`s.default_subspec = 'mainSDK'

s.subspec 'mainSDK' do |mainSDK|
mainSDK.vendored_frameworks = 'mainSDK.framework'
mainSDK.source_files = "mainSDK.framework/Headers/*.h" …
Run Code Online (Sandbox Code Playgroud)

ios ios-frameworks cocoapods podspec swift

6
推荐指数
1
解决办法
1021
查看次数

无法找到“Expo”依赖的“ExpoModulesCore”规范

我正在尝试将 expo 依赖项(准确地说)添加media-librarymail-composerReact Native 项目中。我yarn add编辑了两个依赖项以及yarn add expo-modules@latestyarn add expo-modules-core。然后我就跑了npx pod-install,为了安全起见,cdiOS就跑了pod install。两个pod命令都失败并给出以下错误:

\n
\nCouldn't install: Expo \xc2\xbb ExpoModulesCore. Updating the Pods project and trying again...\nCommand `pod install` failed.\n\xe2\x94\x94\xe2\x94\x80 Cause: Unable to find a specification for `ExpoModulesCore` depended upon by `Expo`\n\n
Run Code Online (Sandbox Code Playgroud)\n

我删除了node_modulesiOS/PodsiOS/buildyarn.lock,重新安装了所有内容yarn,然后再次尝试,得到相同的结果。

\n

podspec react-native expo

6
推荐指数
1
解决办法
6194
查看次数