【问题标题】:target specifies product type 'com.apple.product-type.app-extension', but there's no such product type for the 'iphoneos' platformtarget 指定产品类型“com.apple.product-type.app-extension”,但“iphoneos”平台没有这样的产品类型
【发布时间】:2014-11-09 03:05:40
【问题描述】:

错误:

target 指定产品类型“com.apple.product-type.app-extension”,但“iphoneos”平台没有这样的产品类型

这可能并不难解决。但是,这是 Apple 的新 iOS8 扩展功能,我的应用程序也应该在 iOS7 上运行。我已经使用 XCode6 beta 创建了扩展,但现在我无法在装有 iOS7 的设备上运行我的应用程序。

【问题讨论】:

  • 我尝试了很多方法,包括打开 project.pbxproj 文件。清理项目也失败了!这让我很担心。实际上我在 XCode 5 上遇到了这个错误,我们还没有完全切换到 XCode6,因为它仍然是一个测试版。但是,当我在XCode6中打开项目时,并没有看到错误,在iOS7上仍然可以编译运行。

标签: xcode xcode5 ios8 xcode6


【解决方案1】:

我相信在添加新的 iOS8 功能(例如新的 Share Extension)后,无法使用旧的 XCode5 编译和运行项目。我试图在 XCode5 上运行,因为我们即将发布,而 XCode6 仍然是测试版。使用测试版软件发布绝不是一个好主意。

我注意到我编写的一些代码在 XCode5 中也无法编译,我使用 ifdef 块解决了它,例如:

#define iOSVersion ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)

- (void)viewDidLoad {
#ifdef iOSVersion
  NSExtensionContext *myExtensionContext = self.extensionContext;
  NSArray *inputItems = myExtensionContext.inputItems;
#endif
}

但最好继续在 XCode6 上运行项目以获得可扩展性功能,因为此时我不确定如何使用 XCode5 消除错误。

【讨论】:

    猜你喜欢
    • 2014-12-21
    • 1970-01-01
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多