我有一个小的Swift项目,在macOS上与iTunes交谈。该项目在macOS 10.13和XCode 9下完美构建,但自更新到10.14和XCode 10编译失败后,出现以下消息:
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "Headers/iTunesLibrary.h"
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/iTunesLibrary.framework/Headers/iTunesLibrary.h:12:9: error: 'iTunesLibrary/ITLibDefines.h' file not found
#import <iTunesLibrary/ITLibDefines.h>
^
/MY_PROJECT_PATH/ITunesLibrary.swift:10:8: error: could not build Objective-C module 'iTunesLibrary'
import iTunesLibrary
^我已经签入/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/iTunesLibrary.framework/Headers,文件iTunesLibrary.h和ITLibDefines.h存在。iTunesLibrary.h内容为:
/*!
@header iTunesLibrary.h
@copyright (c) 2012-2014 Apple Inc. All rights reserved.
*/
#ifndef ITUNESLIBRARY_H
#define ITUNESLIBRARY_H
#import <Foundation/Foundation.h>
#import <iTunesLibrary/ITLibDefines.h>
#import <iTunesLibrary/ITLibAlbum.h>
#import <iTunesLibrary/ITLibArtist.h>
#import <iTunesLibrary/ITLibArtwork.h>
#import <iTunesLibrary/ITLibMediaEntity.h>
#import <iTunesLibrary/ITLibMediaItem.h>
#import <iTunesLibrary/ITLibMediaItemVideoInfo.h>
#import <iTunesLibrary/ITLibPlaylist.h>
#import <iTunesLibrary/ITLibrary.h>
#endif /* ITUNESLIBRARY_H */既然编译器找到了iTunesLibrary.h,我就不明白为什么找不到<iTunesLibrary/ITLibDefines.h>了。
有什么想法吗?一些搜索路径?
谢谢。
发布于 2018-12-11 19:17:27
事实证明框架搜索路径(在Project->Target->Build Settings下)确实是罪魁祸首。删除我的自定义覆盖解决了这个问题。有趣的是,如果我没记错的话,我添加了它们,因为Xcode无法找到我的框架……
另请参阅https://forums.developer.apple.com/message/328635#328779
发布于 2020-08-20 15:41:16
将"Always Search User Path“设置为NO,问题将得到解决
https://stackoverflow.com/questions/53723004
复制相似问题