将目标添加到 CocoaPods 以进行扩展
Adding target to CocoaPods for extension
Okej,我已经和这个问题抗争了几个小时了,我完全没有想法。我正在创建具有获取当前观看网站所需的动作扩展的应用 URL。我需要在应用程序和扩展程序(主要是网络 API)之间共享一些代码,因此我也需要为此共享库(alamofire 等)。
这是我的 CocoaPods
use_frameworks!
target 'xxxExtension' do
pod 'ObjectMapper', '~> 2.2'
pod 'SwiftyJSON'
pod 'Alamofire', '~> 4.0'
pod 'Nuke', '~> 4.0'
pod -
pod -
end
target 'yyyMain' do
pod 'ObjectMapper', '~> 2.2'
pod 'SwiftyJSON'
pod 'Alamofire', '~> 4.0'
pod 'Nuke', '~> 4.0'
pod -
pod -
pod -
pod -
pod -
pod -
target 'yyyMainTests' do
inherit! :search_paths
pod -
pod -
pod -
pod -
pod -
end
end
如您所见,我对 use_frameworks 使用了隐式抽象目标,我尝试移动那里共享的 pods,但变化不大。我自己创建了 abstract_target,同样的错误。
error: /Users/abc/Library/Developer/Xcode/DerivedData/yyyMain-fuuyjxathhqlfdczxrtmfewlpcpe/Build/Products/Debug-iphoneos/xxxExtension.appex: No such file or directory
有什么想法吗?
好的,这有点棘手,我做了一些可能会解决问题的更改。
首先是添加
post_install do |installer_representation|
installer_representation.pods_project.targets.each do |target|
if target.name.start_with? "Pods-extensionName"
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'AF_APP_EXTENSIONS=1']
end
end
end
end
到播客文件。
第二个是(除了所有清理、重建和删除派生数据之外)手动删除二进制文件关联。为此,需要进入项目设置 -> 目标 -> app -> 常规 -> (在底部)嵌入式二进制文件并删除 *.appex 文件。
此外,可能需要进入构建阶段并使用库删除 link 二进制文件。
最后要做的事情是 "pod install" 重新安装 pod,并且应该在清理后的项目上重新创建新的 links。
祝你好运!
Okej,我已经和这个问题抗争了几个小时了,我完全没有想法。我正在创建具有获取当前观看网站所需的动作扩展的应用 URL。我需要在应用程序和扩展程序(主要是网络 API)之间共享一些代码,因此我也需要为此共享库(alamofire 等)。
这是我的 CocoaPods
use_frameworks!
target 'xxxExtension' do
pod 'ObjectMapper', '~> 2.2'
pod 'SwiftyJSON'
pod 'Alamofire', '~> 4.0'
pod 'Nuke', '~> 4.0'
pod -
pod -
end
target 'yyyMain' do
pod 'ObjectMapper', '~> 2.2'
pod 'SwiftyJSON'
pod 'Alamofire', '~> 4.0'
pod 'Nuke', '~> 4.0'
pod -
pod -
pod -
pod -
pod -
pod -
target 'yyyMainTests' do
inherit! :search_paths
pod -
pod -
pod -
pod -
pod -
end
end
如您所见,我对 use_frameworks 使用了隐式抽象目标,我尝试移动那里共享的 pods,但变化不大。我自己创建了 abstract_target,同样的错误。
error: /Users/abc/Library/Developer/Xcode/DerivedData/yyyMain-fuuyjxathhqlfdczxrtmfewlpcpe/Build/Products/Debug-iphoneos/xxxExtension.appex: No such file or directory
有什么想法吗?
好的,这有点棘手,我做了一些可能会解决问题的更改。
首先是添加
post_install do |installer_representation|
installer_representation.pods_project.targets.each do |target|
if target.name.start_with? "Pods-extensionName"
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'AF_APP_EXTENSIONS=1']
end
end
end
end
到播客文件。
第二个是(除了所有清理、重建和删除派生数据之外)手动删除二进制文件关联。为此,需要进入项目设置 -> 目标 -> app -> 常规 -> (在底部)嵌入式二进制文件并删除 *.appex 文件。
此外,可能需要进入构建阶段并使用库删除 link 二进制文件。
最后要做的事情是 "pod install" 重新安装 pod,并且应该在清理后的项目上重新创建新的 links。
祝你好运!