Xcode 独立应用程序问题
Xcode standalone app issue
我的 iMac 分区为 OSX 10.6.8 运行ning xCode 4.0.2(我经常使用),另一侧为 10.10.3。我对我当前的编译器版本很满意,因为它适用于我需要做的事情。
我构建了一个方便的 32 位应用程序,仅供个人使用,但由于一连串的错误,我无法从编译器中获得独立版本并放到我的桌面上。我的框架是:
QuickTime.framework
QTKit.framework
Cocoa.framework
(在其他框架文件夹中)
AppKit.framework
CoreData.framework
Foundation.framework
在头文件中:
#import <Cocoa/Cocoa.h>
#import <QTKit/QTKit.h>
#import <QuickTime/QuickTime.h>
… 后面是定义:
-(Track)getSubtitlesTrack;
一切 运行s 在编译器中都没有任何问题,但是当我尝试 'build for archiving' 时,我在上面的行中收到错误消息 "Parse Issue. Expected a Type".
在我的实现文件中,此方法和其他六个使用任何类型的 QT 数据(如 nextTimeTrackEdit 或 nextTimeMediaSample 等)的方法都会失败 "use of undeclared identifier"。此方法的代码是:
//#########################################################
// Returns the appropriate QT track indicated by track pop-up button
-(Track)getSubtitlesTrack
{
int popUpIndex = [trackPopUpButton indexOfSelectedItem];
NSArray *videoTracks = [refMovie tracksOfMediaType:QTMediaTypeVideo];
QTTrack *tcTrack = [videoTracks objectAtIndex:popUpIndex];
Track theTrack = tcTrack.quickTimeTrack;
return theTrack;
}
当然,我读到如果我尝试构建 64 位版本,我将在使用 QuickTime 框架时遇到更多麻烦(事实上我也尝试过这样做,但它甚至根本无法编译)但我不使用 Yosemite 除了一些无论如何都不会 运行 在 Snow Leopard 中的应用程序。
我不是一个经验丰富的程序员,而且太老了,无法掌握这一切的技术细节。那么,谁能告诉我这可能哪里出错了?
警告:我有一段时间没有使用 Xcode,所以我不太确定细节。
也就是说,创建应用程序的存档版本会启动发布版本。相反,当您直接从 IDE 运行 应用程序时,您将获得调试版本。
可能发生的情况是您的调试版本已正确配置所有必要的框架。但是,您的发布版本不是,因此会出现错误。还可能发生的是您的某些 include/library 目录在发布模式下配置错误。
这有望为您指明正确的方向。
我的 iMac 分区为 OSX 10.6.8 运行ning xCode 4.0.2(我经常使用),另一侧为 10.10.3。我对我当前的编译器版本很满意,因为它适用于我需要做的事情。
我构建了一个方便的 32 位应用程序,仅供个人使用,但由于一连串的错误,我无法从编译器中获得独立版本并放到我的桌面上。我的框架是:
QuickTime.framework
QTKit.framework
Cocoa.framework
(在其他框架文件夹中)
AppKit.framework
CoreData.framework
Foundation.framework
在头文件中:
#import <Cocoa/Cocoa.h>
#import <QTKit/QTKit.h>
#import <QuickTime/QuickTime.h>
… 后面是定义:
-(Track)getSubtitlesTrack;
一切 运行s 在编译器中都没有任何问题,但是当我尝试 'build for archiving' 时,我在上面的行中收到错误消息 "Parse Issue. Expected a Type".
在我的实现文件中,此方法和其他六个使用任何类型的 QT 数据(如 nextTimeTrackEdit 或 nextTimeMediaSample 等)的方法都会失败 "use of undeclared identifier"。此方法的代码是:
//#########################################################
// Returns the appropriate QT track indicated by track pop-up button
-(Track)getSubtitlesTrack
{
int popUpIndex = [trackPopUpButton indexOfSelectedItem];
NSArray *videoTracks = [refMovie tracksOfMediaType:QTMediaTypeVideo];
QTTrack *tcTrack = [videoTracks objectAtIndex:popUpIndex];
Track theTrack = tcTrack.quickTimeTrack;
return theTrack;
}
当然,我读到如果我尝试构建 64 位版本,我将在使用 QuickTime 框架时遇到更多麻烦(事实上我也尝试过这样做,但它甚至根本无法编译)但我不使用 Yosemite 除了一些无论如何都不会 运行 在 Snow Leopard 中的应用程序。
我不是一个经验丰富的程序员,而且太老了,无法掌握这一切的技术细节。那么,谁能告诉我这可能哪里出错了?
警告:我有一段时间没有使用 Xcode,所以我不太确定细节。
也就是说,创建应用程序的存档版本会启动发布版本。相反,当您直接从 IDE 运行 应用程序时,您将获得调试版本。
可能发生的情况是您的调试版本已正确配置所有必要的框架。但是,您的发布版本不是,因此会出现错误。还可能发生的是您的某些 include/library 目录在发布模式下配置错误。
这有望为您指明正确的方向。