如何解决Swift Package Manager平台特定的资源:iOS Xibs不支持目标设备类型“ mac”
我正在使用Swift Package Manager构建一个库。我添加了一个XIB文件来定义自定义<?php
class searchMovies{
function __construct(){
add_action( 'pre_get_posts',array( $this,'filterquery' ) );
}
function filterquery( $query ){
global $pagenow;
global $typenow;
// THIS DOES NOT SEEM TO WORK HERE ↓↓↓
if ( is_archive()
&& $query->is_main_query()
&& isset( $_GET['search_text'] )
&& !empty( $_GET['search_text'] )
) {
$query->set(
'meta_query',array(
'relation' => 'OR',array(
'key' => 'post_title','value' => $_GET['search_text'],'compare' => 'LIKE'
),array(
'key' => 'movie_description','compare' => 'LIKE'
)
)
);
}
return $main_query;
}
}
new searchMovies();
的布局。我的软件包无法在Xcode中编译,因为XIB文件特定于iOS。如果创建macOS XIB,则会出现相反的错误。这似乎是因为:
- 由Swift Package Manager构建的库将始终是跨平台的,因此我无法构建“仅iOS”包。
- 代码可以使用
UICollectionViewCell
之类的机制来处理特定于平台的代码。 -
#if os(iOS)
没有resources: [ .process("resource.name") ]
告诉它仅在为iOS构建时才包含特定的XIB文件。 -
BuildSettingCondition
由Xcode自动处理,而无需在.xib
中声明,因为很明显它们是资源文件,因此Xcode handles them automatically。 -
Package.swift
似乎没有规则来分隔两个不同的xcodebuild
文件,以进行特定于平台的处理。
我想念什么?如何确保不将iOS专用资源强制包含在最终软件包中?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。