Today Extension 上的 CocoaPods

Posted

技术标签:

【中文标题】Today Extension 上的 CocoaPods【英文标题】:CocoaPods on Today Extension 【发布时间】:2015-07-29 13:41:19 【问题描述】:

我有一个安装了 CocoaPods 的 Swift 项目。该项目有一个 Today Extension,我在这个 Target 中添加了一些 Pod。到目前为止一切顺利。

在模拟器上运行没关系!但在设备上运行时出现此错误:

dyld: Library not loaded: @rpath/Alamofire.framework/Alamofire

在网上搜索,我发现Natasha The Robot 的帖子谈论创建 Pod 文件的正确方法,而我的 Pod 看起来像这样:

# Podfile

platform :ios, '8.0'

use_frameworks!

# My other pods

def my_pods
    pod 'Alamofire'
end

target 'MyAppTarget' do
    my_pods
end

target 'MyTodayExtensionTarget' do
    my_pods
end

我尝试使用link_with,但出现同样的错误

我发现的唯一解决方案是取消集成 Cocoapods 并手动添加框架。

有人有其他解决方案吗?

谢谢

【问题讨论】:

【参考方案1】:

您是否尝试在两个目标中重复您的 pod? 也许这不是一个非常干净的解决方案,但我有一个与您的情况相同的项目,它正在使用像这样的 Podfile:

# Podfile example
source 'https://github.com/CocoaPods/Specs.git'

inhibit_all_warnings!

target 'mainapp', :exclusive => true do
    platform :ios, '8.0'

    #Crashlytics
    pod 'Fabric'
    pod 'Crashlytics'

    #Google analytics
    pod 'Google/Analytics', '~> 1.0.0'
end

target 'widget', :exclusive => true do 

    platform :ios, '8.0'

    #Crashlytics
    pod 'Fabric'
    pod 'Crashlytics'

    #Google analytics
    pod 'Google/Analytics', '~> 1.0.0'

    #Logging
    pod 'CocoaLumberjack', '~> 2.0'
end

【讨论】:

以上是关于Today Extension 上的 CocoaPods的主要内容,如果未能解决你的问题,请参考以下文章

Today Widget Extension 中经常出现“无法加载”

如何将数据从应用程序显示到Today Extension Swift

iOS扩展Extension之Today

Today Extension 删除 sqlite 中的数据

App Today Extension开发注意事项

iOS 8 Today Extension:是否可以添加可编辑的文本字段?