问题标签 [xcode7-beta2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
13257 浏览

xcode - Swift 调试器在导入 ObjC 框架时不显示变量值

当我使用 Sprite Kit 创建一个新的 OS X“游戏”项目,并在任何可以看到变量值的地方设置断点时:

在此处输入图像描述

然后我更改代码以导入我自己的框架(TilemapKit),这是一个纯 Objective-C 框架:

没有进行其他更改。我什至没有使用任何 TilemapKit 代码(还)。当断点触发时,我看到:

在此处输入图像描述

就观察变量值而言,整个项目不再可调试。这种行为是完全一致的。如果没有框架导入,我可以再次调试。

由于我使用的是 Xcode 7 beta (7A121l) 和 OS X 10.11 开发者预览版,我知道这可能只是一个(临时)错误。

命令行 Tiles 设置为使用 Xcode 7.0 版本 btw。我尝试在框架目标中启用模块,确保部署目标相同(10.11),禁用符号剥离。我添加了一个 Bridging Header 并在其中 #imported TilemapKit 框架(在这种情况下删除 Swift 导入仍然会给我不可调试的应用程序,因此我导入框架的方式或位置似乎并不重要)。

有没有人对可能导致这种行为的原因以及我如何解决它有建议 - 或者至少我可以如何尝试缩小问题范围?

罪魁祸首是否更有可能与项目的构建设置与框架的构建设置有关?我是否需要在应用项目中启用某些功能以使其与 ObjC 框架兼容?(我已经在其他链接器标志中获得了 -ObjC)


更新:

po self在调试控制台中运行并发现了这个通知:

框架构建目录怎么变了?为什么这很重要以及如何解决这个问题?

PS:新的 ObjC 应用程序中的相同框架可以很好地调试。

0 投票
0 回答
143 浏览

ios - 库未加载异常

上个月左右,我一直在仅使用模拟器开发针对 iOS 9 的应用程序。该项目在模拟器上编译并运行,没有任何问题。

今天我将我的手机升级到 iOS 9 Beta 2 并首次将应用程序部署到它。启动时,应用程序崩溃,控制台中出现以下输出。

dyld:库未加载:@rpath/Pods_LifeStream.framework/Pods_LifeStream 引用自:/var/mobile/Containers/Bundle/Application/A2289417-624C-49E0-A932-AEC89CA1DEF3/LifeStream.app/LifeStream 原因:找不到图像

我假设这是由于我正在使用的框架之一需要它找不到的图像。有没有办法让我确定是哪个 pod 导致了问题,以及为什么它在模拟器上运行而不在我的设备上运行?

0 投票
1 回答
5561 浏览

apple-watch - 将现有 watchOS 1 项目升级到 watchOS 2

我不想保留和支持 watchOS 1,相反, 我想在不重新创建 Interface.Storyboard 等的情况下将现有的 watchOS 1 项目升级到 watchOS 2。

Apple Doc 对解决这种情况并不是很具体:

watchOS 2 过渡指南

下面的这篇文章暗示我应该分别保留两个单独的目标,watchOS 1 和 watchOS 2(重做情节提要等)。

Xcode 7 支持 watch OS1 和 OS2

尝试调整 watchOS 1 构建设置以遵循 watchOS 2 的模式,但遇到了许多错误,例如

将部署目标设置为 iOS 8.2 将使程序能够在运行 watchOS 2 的 Watch 上运行,但它保留并支持 watchOS 1 而不是 watchOS 2 的代码特性。如果在 Xcode 7 中创建全新的 watchOS 2 目标,则部署目标WatchKit Extension 和 WatchKit App 是 iOS 9.0,基础 SDK 是 watchOS 2,与构建设置中的部署目标 iOS 8.2 和基础 SDK watchOS 1 相反。

该设置不支持 watchOS 2 中的 WKExtension 和其他新库。评论者建议创建一个新的 watchOS 2 项目来解决此问题。

运行环境:Xcode 7.0 beta,watchOS 2。在我的 Apple Watch 上安装了 watchOS 2,在我的 iPhone 上安装了 iOS 9。

...这是此迁移/过渡/升级过程的预期模式吗?

版本 1 更新:复制 Storyboard 并将 watchOS 1 中的文件重用于新的 watchOS 2 项目并不难。您需要为 watchOS 2 App 创建至少一个临时配置文件和 App ID,在模拟器上运行。该应用程序已在 Apple Watch 上正确安装,但无法通过在 Xcode 中运行调试设备方案来启动。Watch App 可以手动启动(没有调试消息)。这一发现与Github 上的Sample Code watchOS 2项目一致。

0 投票
6 回答
44739 浏览

c - iOS 库到 BitCode

我最近下载了 Xcode 7 beta,Xcode 抱怨我的一些 C 库没有被编译成 BitCode。我将如何告诉 Clang 生成与 iOS 兼容的 BitCode?我在 stackoverflow 上看到过类似的答案,但我不知道它们是否适用于为 iOS 生成 BitCode 库。

编辑:

我正在使用正确的设置 -fembed-bitcode,但是当我尝试存档时,我收到错误:ld: warning: ignoring file XXXX/XXXX, file is built for archive which is not the architecture is linked (arm64). 当我使用 -fembed-bitcode-marker 时,我可以存档,但我收到错误:无法生成完整的位码包,因为 XX/XX 仅使用位码标记构建。该库必须从启用位码的 Xcode 归档生成中生成。

关于出了什么问题的任何想法?该库正在成功编译,但它不允许我存档。我创建了一个简单的 add 函数并将其放入库中,我得到了相同的症状,所以它不是我正在编译的库。

编辑 2:您必须使用 bitcode 构建 arm64 和 armv7 版本并将它们一起 lipo。归档时使用位码并不会消除对胖库的需求。来源:链接

0 投票
2 回答
1086 浏览

ios - 单击故事板时 XCode 7 崩溃,Apple 工程师在开发论坛中的解决方案不起作用

我安装了 XCode 7 beta 2 并执行以下步骤:

  • 创建一个新的 XCode 项目(单视图应用程序)
  • 将 Watch 目标添加到项目中
  • 选择任何.storyboard文件

苹果开发者论坛上有类似的讨论,但苹果工程师建议的解决方案不起作用。

有谁有更好的运气?


这是我得到的 Mac OS 版本和硬件规格:

在此处输入图像描述

0 投票
1 回答
119 浏览

swift2 - Xcode 7 beta 2 不编译代码

我在跑Xcode 7 beta 2,我的代码无法编译,运行时它不会在断点处中断,即使我向其中添加损坏的代码也不会抛出错误。

当我在模拟器中运行我的应用程序时,我的旧版本的应用程序在模拟器中运行,即使我从模拟器主屏幕中删除它也是如此。

同样的代码库可以在我的 macbook pro 上完美运行。

到目前为止我尝试过的事情:

  • 打扫
  • 重建
  • 重启
  • 卸载、重新下载和重新安装 Xcode

在我的 iMac 上运行:(Xcode 7 beta 2)

在此处输入图像描述

在我的 MacBook Pro 上运行的确切代码(Xcode 7 beta 2)

在此处输入图像描述

有谁之前经历过这个吗?有什么解决办法吗?

0 投票
2 回答
2302 浏览

apple-watch - Xcode 7.0 Beta 无法在 Apple Watch 上启动 watchOS 2 应用程序

尝试了一个公共示例代码项目和我自己的项目。观察 watchOS 1 没有问题。

watchOS 2 App在真机Apple Watch和模拟器上安装运行成功,但不支持Xcode在设备上启动应用的debug模式。

尝试让系统创建 Provisioning 文件,并为开发模式手动创建 Provisioning 文件。

在 10.10、10.11 上进行测试。

重现步骤:

  1. 在构建设置、watchOS 2 环境等上设置 Provisioning 文件。

  2. 转到 Xcode 7.0 beta 左上角的方案并选择 iPhone 和 Apple Watch 设备。

  3. 等等... WatchKit App 似乎已安装在 Apple Watch 上,但屏幕仍为空白。

  4. 单击后会激活 Xcode 上的 Play 按钮。等待 1 分钟。它将在没有任何警告的情况下关闭。

预期成绩:

WatchKit 应用程序将在 Apple Watch 上启动。

实际结果:

屏幕保持空白。

版本:

watchOS 2 + iOS 9(2015 年 6 月 23 日发布)

这是一个类似的情况,但在这种情况下没有错误消息,并且将设备直接插入 Mac 并重新启动所有设备将无法解决问题。

谢谢

0 投票
1 回答
1311 浏览

static-libraries - 从命令行,Xcode 7-beta 2 为 iOS 9 编译 C 库

我在使用最新的 Xcode 7-beta clang 为 iOS 9 编译 C 库 (gmp) 时遇到问题。我正在尝试生成位码以停止 Xcode 中的所有警告(并且我想在位码中生成这些库)。但是,我什至无法首先编译该库。./configure 失败,在查看 config.log 之后,似乎 ld 是问题所在,因为它失败并显示“ld: library not found for -lSystem”。这是我过去用来编译 gmp 的命令:

我添加的标志是查看这是否有助于 ld 找到要链接的所需库,但无论我是否包含该选项,它都会失败并出现相同的错误。我没有在上述命令中包含编译为位码的选项,因为我什至无法使用我以前使用的相同命令首先编译它。我注意到,当我在“将二进制文件与库链接”下将 gmp .a 文件添加到 xcode 时,ld 找不到库。我必须手动将项目添加到项目设置中的 ld 搜索路径,以便 ld 找到库。这在 Xcode 6 中不是必需的,所以它只是 ld 在当前的测试版中存在错误,还是我能做些什么?

0 投票
1 回答
1124 浏览

swift - PHPPhotoLibrary 的 Swift 2.0 新“执行更改”将不起作用

我刚刚下载了 Xcode 7 Beta 2,并试图利用我对 Swift 的了解来制作一个从用户的相机胶卷中删除照片的应用程序。我知道如何使用 Swift 1.2 通常做到这一点,但我似乎无法在 Swift 2.0 中得到它。我尝试搜索文档以了解如何在 Swift 2.0 中使用“performChange”功能,但它不起作用。这是我的斯威夫特:

这是我的错误:

无法performChanges使用类型的参数列表调用(() -> _, completionHandler: (_, _) -> Void)

任何帮助表示赞赏!

0 投票
4 回答
2140 浏览

ios - Xcode 7 beta 2:LaunchScreen.storyboard 无法打开文档

我在两台不同的 Mac(iMac 和 Mac Book pro)上收到此错误。不知道为什么人们不能复制它,但我需要一些帮助。

在此处输入图像描述

我在运行OS X Yosemite 10.10.4的 Mac 上运行Xcode 7 beta 2(2015 年 6 月 23 日)。

甚至无法编译和运行我的项目..

我从创建菜单创建了一个单视图应用程序项目,就是这样。

编辑:

我尝试删除并重新添加情节提要文件(也无法打开 Main.storyboard),但仍然收到相同的消息。这是崩溃报告: