cocoa - 在 Xcode : Can't find exiftool:Can't locate Image/ExifTool. pm 中工作

标签 cocoa xcode exif

但它就在那里。

enter image description here

有什么想法吗?

当我尝试从图像文件获取元数据时会发生这种情况(这是运行 shell 脚本的 AppleScript):

on getMetaData(filePath)
-->get meta data
try
    set myCommand to (quoted form of (POSIX path of (pathToExifTool)) & " " & quoted form of (POSIX path of (filePath)))
    set thisMetaData to (do shell script myCommand)
on error errMsg
    log "Can't find exiftool:" & errMsg
end try
...

pathToExifTool是这样的:

/Users/steve/Desktop/XCodeApps/ImageArchiveDeluxeX/build/Release/ImageArchiveDeluxeX.app/Contents/Resources/exiftool"

并且存在。

这是抛出的完整错误:

“找不到 exiftool:无法在 @INC 中找到 Image/ExifTool.pm(@INC 包含:/Users/steve/Desktop/XCodeApps/ImageArchiveDeluxeX/build/Release/ImageArchiveDeluxeX.app/Contents/Resources/lib/Library/Perl/Updates/5.8.8/System/Library/Perl/5.8.8/darwin-thread-multi-2level/System/Library/Perl/5.8.8/Library/Perl/5.8.8/darwin- thread-multi-2level/Library/Perl/5.8.8/Library/Perl/Network/Library/Perl/5.8.8/darwin-thread-multi-2level/Network/Library/Perl/5.8.8/Network/Library/Perl/System/Library/Perl/Extras/5.8.8/darwin-thread-multi-2level/System/Library/Perl/Extras/5.8.8/Library/Perl/5.8.6/Library/Perl/5.8.1 。 )位于/Users/steve/Desktop/XCodeApps/ImageArchiveDeluxeX/build/Release/ImageArchiveDeluxeX.app/Contents/Resources/exiftool 第 30 行。 BEGIN 失败 - 编译在/Users/steve/Desktop/XCodeApps/ImageArchiveDeluxeX/build/Release/ImageArchiveDeluxeX.app/Contents/Resources/exiftool 第 30 行中止。”

bundle 一团糟(很多 .pm 文件四处 float - 它们看起来是重复的),但 exiftool-->image-->ExifTool.pm 路径在那里。

enter image description here

======================================

这是 Sherm 的解决方案

显然,由于某种原因,我的目录结构变得一团糟,要么是我在不知不觉中完成的,要么是像 Sherm 所指出的那样,XCode 决定造成严重破坏。无论如何,(请忍受我令人难以置信的非技术性描述)在 XCode 中工作时,黄色文件夹(或由于某种奇怪的原因而被称为组)将不会添加到您的包中......因此 exiftool (如果您查看第一个)图像)没有层次结构来查找所需的文件,如 bundle 屏幕截图所示。我基本上从应用程序中删除了所有相关的 exiftool 文件(右键单击/删除/删除引用),然后从查找器中将它们带回。您会在第三个屏幕截图中注意到这些目录现在是蓝色的。这些将使用该应用程序构建。

enter image description here

最佳答案

您是否查看过应用程序包的资源/目录以验证复制这些文件时是否维护了目录结构? IIRC,这不会自动发生;默认行为是“扁平化”资源,忽略 Xcode 组并简单地将所有资源文件复制到顶级 Resources/目录中。

您可以通过从 Xcode 项目中删除这些组和文件引用来避免默认行为 - 当然不要删除这些文件!然后,重新添加“lib”目录,注意选择“创建文件夹引用”选项。

"Add existing files" option sheet

关于cocoa - 在 Xcode : Can't find exiftool:Can't locate Image/ExifTool. pm 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5421224/

相关文章:

iphone - iOS XCODE崩溃并显示错误:调度队列:com.apple.root.default-qos

ios - 找不到选项 '-L/Users/..../TestFlightSDK1.1' 的目录

javascript - JS 客户端 Exif 方向 : Rotate and Mirror JPEG Images

android - Exif 数据 TAG_ORIENTATION 始终为 0

c - 文件夹内的 xcode c 文件未执行

以 jpeg 格式存储 GPS 的 Android 被损坏

objective-c - iPhone,使用 isKindOfClass 是否以任何方式被认为是不好的做法?

objective-c - 使用添加符号作为 NSImage

objective-c - 具有自定义高度的 NSTableView 部分横幅列

objective-c - NSImageView 根据图像大小调整大小