【问题标题】:Installing the app Extension to the device?将应用程序扩展安装到设备?
【发布时间】:2014-10-01 11:41:25
【问题描述】:

我正在尝试在我的 iPhone 设备上安装我的应用程序扩展,但我收到以下错误:

This application or a bundle it contains has the same bundle identifier as 
this application or another bundle that it contains. Bundle identifiers must be unique.

应用容器具有捆绑 ID:com.companyName.AppName,应用扩展的捆绑标识符是 com.companyName.AppName.WidgetApp。

我尝试使用相同的配置对扩展进行签名,我还安装了来自苹果开发者网站的不同 AppID 和应用扩展的新配置文件,还尝试将扩展小部件的签名设置为自动但仍然同样的错误,应用程序无法在设备上启动。

我应该怎么做才能将我的应用程序扩展安装到设备上?

以下是我的应用和扩展程序的“常规”选项卡的屏幕截图:

应用程序:

扩展:

谢谢。

【问题讨论】:

  • 你试过com.companyName.AppName_WidgetApp吗?我怀疑子域被注册为相同的。编辑:嗯,不,应该可以正常工作。您可以为您的应用程序和扩展程序发布“常规”选项卡的屏幕截图吗?如果需要,请编辑 TLD。
  • @remus 我已经上传了两张截图。在下面检查它
  • 该死,看到你的评论 - 完全正确。它应该优雅地回退。 “信息”选项卡中的内容是什么?它是拉 ${PRODUCT.ID} 变量,还是硬编码?
  • @remus info 选项卡中的 bundleID 如下:info.MyCompany.socialM.$(PRODUCT_NAME:rfc1034identifier)
  • 那是我推测的扩展名,主要目标呢?

标签: objective-c xcode ios8 ios8-extension ios8-today-widget


【解决方案1】:

执行clean 命令对我有用。

这是通过 XCode 菜单项完成的; Product > CleanSHIFT + COMMAND + K

【讨论】:

    【解决方案2】:

    我遇到了这个确切的问题,这是由于构建中包含重复的框架。我已经包含了同一个动态框架的测试和非测试版本。一旦我删除了一个,安装就按预期进行。

    我分享这个是希望它能帮助其他人,以防他们遇到这种特别模糊的情况。

    【讨论】:

      【解决方案3】:

      在 Swift 中:

      如果您安装了 pod,那么您必须将捆绑标识符更改为一般身份中的 org.cocoapods.podName。确保所有 pod 的部署目标应与项目的部署目标相同。

      【讨论】:

      • 你到底是什么意思?我应该更改 pod 目标的包标识符吗?去什么?
      • 您需要检查您是否在任何其他项目中使用了相同的捆绑 ID。
      猜你喜欢
      • 1970-01-01
      • 2015-04-01
      • 2023-03-07
      • 2011-06-05
      • 1970-01-01
      • 1970-01-01
      • 2015-12-28
      • 1970-01-01
      相关资源
      最近更新 更多