标签: xcode7

通过Cocoapods包含Xcode 7 UI测试依赖性?

我有一个现有的Objective-C项目,我想添加一个新的Xcode 7 UI测试目标,OHHTTPStubs作为依赖项.

我在Xcode中添加了新的(Swift 2.0)UI测试目标,然后将其添加到我的Podfile:

target 'FooUITests' do
    pod 'OHHTTPStubs', '4.0.1'
end
Run Code Online (Sandbox Code Playgroud)

我跑pod update,清理,重建.但是当我尝试import OHHTTPStubs在模板UI测试的顶部测试.swift文件Xcode为我创建时,它抱怨"没有这样的模块'OHHTTPStubs'".

我正在使用Cocoapods版本0.37.2-将Objective-C依赖项导入到Swift(... UI测试)目标中,甚至可以工作吗?

更新:正如我在下面的自我回答中所述,添加use_frameworks!到我的Podfile让我得到了清晰的编译 - 我可以import OHHTTPStubs在我的测试文件的顶部,引用类和方法,代码完成工作 - 但是当我真正去运行测试时我得到Xcode控制台中的以下输出:

2015-06-18 10:06:57.134 XCTRunner[51557:609693] The bundle “FooUITests” couldn’t be loaded because it is damaged or missing necessary resources. Try reinstalling the bundle.
2015-06-18 10:06:57.135 XCTRunner[51557:609693] (dlopen_preflight(/Users/foo/Library/Developer/CoreSimulator/Devices/38181A1B-67B1-4D7F-B434-85361533F985/data/Containers/Bundle/Application/83C68748-55A3-4A02-8862-C18ADEF895B5/FooUITests-Runner.app/PlugIns/FooUITests.xctest/FooUITests): Library not loaded: @rpath/OHHTTPStubs.framework/OHHTTPStubs
  Referenced from: /Users/foo/Library/Developer/CoreSimulator/Devices/38181A1B-67B1-4D7F-B434-85361533F985/data/Containers/Bundle/Application/83C68748-55A3-4A02-8862-C18ADEF895B5/FooUITests-Runner.app/PlugIns/FooUITests.xctest/FooUITests
  Reason: image not found)
Run Code Online (Sandbox Code Playgroud)

虽然我的目录下似乎有Release-iphoneos和Release-iphonesimulator构建.OHHTTPStubs.framework …

ios cocoapods swift xcode7 xcode-ui-testing

12
推荐指数
1
解决办法
2577
查看次数

Xcode 7:app测试和UI测试之间的鸿沟是不可架断的?

Xcode 7†有一种直接测试UI的新方法,包括新的测试目标"iOS UI Testing Bundle"(或"OS X").

在此输入图像描述

在UI测试目标中,似乎没有对构成您的App的模型或类的内置访问.例如[UIApplication sharedApplication],您的UI测试无法调用.这意味着"应用程序测试"和"UI测试"存在于可能不可逾越的鸿沟中.

如前所述这里:

问题是Xcode的UI测试不允许访问实际的应用程序.

问题:

  1. 这个鸿沟可以弥合吗?如果是这样,详细说明如何使用构建和链接器设置以及可能xcodeproj在github上工作.
  2. 在Apple文档中,可以找到明确说明这种鸿沟的地方.

†在撰写本文时,测试版软件.

xcode automated-tests ui-testing xcode7 xcode-ui-testing

12
推荐指数
1
解决办法
957
查看次数

命令/Applications/Xcode-beta.app/Contents/Developer/usr/bin/actool失败,退出代码为255

它发生在新的Xcode7 beta中:

CompileAssetCatalog /Users/admin/Library/Developer/Xcode/DerivedData/InstaAd-ddgdnbxlpxipirebpndfmgrxspel/Build/Products/Debug-iphoneos/InstaAd.app InstaAd/Images.xcassets
    cd /Users/admin/Documents/git/InstaAdIOS/InstaAd
    export PATH="/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode-beta.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode-beta.app/Contents/Developer/usr/bin/actool --output-format human-readable-text --notices --warnings --export-dependency-info /Users/admin/Library/Developer/Xcode/DerivedData/InstaAd-ddgdnbxlpxipirebpndfmgrxspel/Build/Intermediates/InstaAd.build/Debug-iphoneos/InstaAd.build/assetcatalog_dependencies.txt --output-partial-info-plist /Users/admin/Library/Developer/Xcode/DerivedData/InstaAd-ddgdnbxlpxipirebpndfmgrxspel/Build/Intermediates/InstaAd.build/Debug-iphoneos/InstaAd.build/assetcatalog_generated_info.plist --app-icon AppIcon --launch-image LaunchImage --compress-pngs --enable-on-demand-resources YES --filter-for-device-model iPhone7,2 --filter-for-device-os-version 8.4 --target-device iphone --target-device ipad --minimum-deployment-target 8.0 --platform iphoneos --compile /Users/admin/Library/Developer/Xcode/DerivedData/InstaAd-ddgdnbxlpxipirebpndfmgrxspel/Build/Products/Debug-iphoneos/InstaAd.app /Users/admin/Documents/git/InstaAdIOS/InstaAd/InstaAd/Images.xcassets

2015-08-10 14:25:53.366 IBCocoaTouchImageCatalogTool[1054:10336] CoreUI(DEBUG): CSIGenerator using 'LZVN' Compression coreui version (358.000000)
2015-08-10 14:25:56.449 ibtoold[675:6100] An uncaught exception was raised
2015-08-10 14:25:56.450 ibtoold[675:6100] The agent crashed

Application Specific Information:
CoreSimulator 179 - Device: IBSimDeviceTypeiPad1x - Runtime: iOS 9.0 (13A4325c) - DeviceType: …
Run Code Online (Sandbox Code Playgroud)

iphone xcode ios xcode7 xcode7-beta5

12
推荐指数
1
解决办法
8365
查看次数

链接具有相同产品名称的双(iphoneos和watchos)框架

我最近不得不复制我自己的框架,以便能够从本地watchOS 2扩展链接它们,因为平台是不同的.因此,对于每个框架,XI都有一个X-watchos对应物.在模拟器中以及直接构建到我的设备时,一切正常,直到我尝试归档,我才得到这个链接错误:

链接错误

我运行lipo -i了构建的watchOS框架,果然,它的拱门是arm7而arm64不是armv7k.

当我进一步查看构建的目录时,我注意到了这一点:

派生数据结构

两个版本都是同一文件的符号链接,并且因为它们具有相同的产品名称,所以它们被覆盖.我可以让他们有不同的名字,但这会让import他们真的很麻烦.

请注意,这不是第三方框架的问题,因为Carthage它已经在不同的目录中构建它们.

编辑08/22/2015:我已经提交了一个示例项目的雷达:http://www.openradar.me/22392501

编辑08/24/2015:这已在Xcode 7 Beta 6发行说明中作为已知问题得到承认:

已知问题

编辑09/9/2015:Xcode 7.1 Beta发行说明提示这是固定的,但我还没有确认.

xcode ios-frameworks watchos xcode7 watchos-2

12
推荐指数
1
解决办法
662
查看次数

错误Nil默认参数值无法转换为'NSLayoutFormatOptions'类型

我已升级到swift 2,这个功能让我头疼.

这在尝试运行应用程序时导致错误.我不知道如何修复此问题,因为我正在尝试将其升级到swift 2.我已经进行了大量搜索,但无法修复代码.NSLayoutFormatOptions = nil在创建函数时发生错误:

internal extension UIView {

    func addConstraints(format format: String, options: NSLayoutFormatOptions = nil, metrics: [String: AnyObject]? = nil, views: [String: UIView]) {
        addConstraints(NSLayoutConstraint.constraintsWithVisualFormat(format, options: options, metrics: metrics, views: views))
    }

    func addUniversalConstraints(format format: String, options: NSLayoutFormatOptions = nil, metrics: [String: AnyObject]? = nil, views: [String: UIView]) {
        addConstraints(format: "H:\(format)", options: options, metrics: metrics, views: views)
        addConstraints(format: "V:\(format)", options: options, metrics: metrics, views: views)
    }

}
Run Code Online (Sandbox Code Playgroud)

谢谢你,如果你能帮忙的话.:)

您诚挚的Gerard Grundy

xcode7 swift2

12
推荐指数
1
解决办法
3754
查看次数

Xcode 7安装需要多长时间

我想第五次安装Xcode 7.我总是完成下载但安装确实完成了.目前,我一直在等待超过3个小时的安装,但仍未完成.有没有人有类似的问题?

xcode xcode7

12
推荐指数
1
解决办法
2万
查看次数

如何清除xcassets未分配子项的警告?

每次我建立时都收到两个警告:

<Project name>
    Assets.xcassets
        The launch image set "BrandAsset" has 2 unassigned children.

<Project name>
    Images.xcassets
        The launch image set "BrandAsset" has 2 unassigned children.
Run Code Online (Sandbox Code Playgroud)

不知道该怎么办,因为我正在为此分配一个现有的故事板Launch Screen File.

在Launch Screen Source,我只看到一个按钮说Use Asset Catalog.

如何修复构建以清除这些警告?

ios xcode7

12
推荐指数
1
解决办法
1万
查看次数

xcode"文件无法打开"

我正在使用ionic开发应用程序,一切都工作正常一段时间.

但是,我最近更新到xcode 7.x,以便我可以编译为iOS 9.现在,当我运行ionic prepare ios生成ios平台文件并单击该*.xcodeproj文件时,我收到以下错误:

在此输入图像描述

The file couldn't be opened.
Run Code Online (Sandbox Code Playgroud)

该文件可以在xcode 6.x中打开

我需要它在xcode 7.x中工作,以便使用以后的SDK版本构建应用程序

附注:我已搜索此问题的答案,但在其他情况下,错误消息更具描述性.我得到的错误消息没有说明无法打开它的原因,无论是权限还是解析问题或其他原因,所以我很难解决如何解决这个问题.我已经尝试删除文件中的(空)行并删除<user>.xcuserdatad这些答案中建议的文件但无济于事.

  • Cordova CLI:5.4.1
  • Gulp版本:CLI版本3.9.0
  • Gulp local:本地版本3.9.0
  • 离子版:1.1.0
  • 离子CLI版本:1.7.12
  • Ionic App Lib版本:0.6.5
  • ios-deploy-version:未安装
  • ios-sim版本:5.0.4
  • 操作系统:Mac OS X El Capitan
  • 节点版本:v4.2.4
  • Xcode版本:Xcode 7.2 Build版本7C68

问题:为什么我收到此错误消息以及如何解决此问题?

xcode ios ionic xcode7

12
推荐指数
1
解决办法
9257
查看次数

当我进入视图控件时,如何更改3个分段控制段的标题?

细分名称是Entrada.我这样做:

override func viewDidLoad() {
    super.viewDidLoad()

    Entrada(sender: UISegmentedControl) {
        setTitle("Action 1", forSegmentAtIndex: 0)
        setTitle("Action 2", forSegmentAtIndex: 1)
        setTitle("Action 3", forSegmentAtIndex: 2)
    }
Run Code Online (Sandbox Code Playgroud)

我得到错误......哇.

xcode ios swift xcode7

12
推荐指数
2
解决办法
7772
查看次数

谁在创建文件"/private/var/tmp/Untitled-*.uicatalog"?

我正在研究为什么一个TeamCity构建代理程序没有磁盘,并且发现了超过11,000个文件/private/var/tmp,所有文件都按照这些名称命名Untitled-<random-unique>.uicatalog.

每个文件至少为0.6MB.总磁盘空间大约为4GB.

这些文件可追溯到几个月前,因此他们在重新启动后幸免于难.

谁在创造它们?

xcode7

12
推荐指数
1
解决办法
742
查看次数