我正在尝试使用Xcode 7 beta 2中提供的新UI测试来编写测试用例.该应用程序有一个登录屏幕,它可以调用服务器进行登录.由于它是异步操作,因此存在与此相关的延迟.
在继续进一步的步骤之前,有没有办法在XCTestCase中引起延迟或等待机制?
没有适当的文档可用,我浏览了类的Header文件.无法找到与此相关的任何内容.
有什么想法/建议吗?
我最近下载了Xcode 7 beta,Xcode抱怨我的一些C库没有被编译成BitCode.我如何告诉Clang生成与iOS兼容的BitCode?我在stackoverflow上看到了类似的答案,但我不知道它们是否适用于为iOS生成BitCode库.
编辑:
我正在使用正确的设置-fembed-bitcode,但是当我尝试存档时,我收到错误:ld:警告:忽略文件XXXX/XXXX,文件是为存档构建的,而不是链接的架构(arm64).当我使用-fembed-bitcode-marker时,我可以存档,但是我收到错误:无法生成完整的bitcode包,因为XX/XX仅使用bitcode标记构建.必须从启用了bitcode的Xcode存档构建生成库.
什么是错误的任何想法?该库正在成功编译,但它不允许我存档.我创建了一个简单的添加函数并将其放入库中,我得到了相同的症状,因此它不是我正在编译的库.
编辑2:您必须使用bitcode和lipo一起构建arm64和armv7版本.使用bitcode在归档时不会消除对胖库的需求.来源:https://forums.developer.apple.com/message/25132#25132
我目前正在使用Swift 2.0和Xcode Beta 2开发我的第一个iOS应用程序.它读取外部JSON并在数据表格视图中生成列表.但是,我得到一个奇怪的小错误,我似乎无法修复:
Extra argument 'error' in call
Run Code Online (Sandbox Code Playgroud)
这是我的代码片段:
let task = session.dataTaskWithURL(url!, completionHandler: {data, response, error -> Void in
print("Task completed")
if(error != nil){
print(error!.localizedDescription)
}
var err: NSError?
if let jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as? NSDictionary{
if(err != nil){
print("JSON Error \(err!.localizedDescription)")
}
if let results: NSArray = jsonResult["results"] as? NSArray{
dispatch_async(dispatch_get_main_queue(), {
self.tableData = results
self.appsTableView!.reloadData()
})
}
}
})
Run Code Online (Sandbox Code Playgroud)
此行引发错误:
if let jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as? NSDictionary{
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我这里我做错了什么吗?
当我使用Sprite Kit创建一个新的OS X"Game"项目,并在任何地方设置断点时,我可以看到变量值就好了:
然后我更改代码以导入我自己的框架(TilemapKit),这是一个纯粹的Objective-C框架:
import SpriteKit
import TilemapKit
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
print("dang!")
}
}
Run Code Online (Sandbox Code Playgroud)
没有其他变化.我甚至没有使用任何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
调试控制台,发现了这个通知:
<built-in>:3:6: error: module 'TilemapKit' was built in directory '/TilemapKit.framework' but now resides in directory './TilemapKit.framework'
#define __clang_major__ 7
^
missing required module 'TilemapKit'
Debug info from this module will be unavailable in the debugger.
Run Code Online (Sandbox Code Playgroud)
为什么框架构建目录发生了变化?那为什么会这么重要以及如何解决这个问题?
PS:新的ObjC应用程序中的相同框架可以调试得很好.
我已经安装了最新的Xcode 7 beta 2版本,当我尝试在iOS 7.1 Simulator中运行该应用程序时,它给出了以下错误消息:
iOS 7.1模拟器运行时不可用.
无法打开liblaunch_sim.dylib.尝试重新安装Xcode或模拟器运行时.
你能告诉我如何解决这个错误吗?
我成功地在我的新项目中安装和使用Parse框架,但我无法使用"模板项目".
您可以在此处下载该项目.我有这个错误:
ld: framework not found Parse
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
螺栓也一样.
我不明白问题是什么,最初的项目只是一些View Controllers ......
当我编写代码"import Parse"时,错误消息是:
No such module 'Parse'
Run Code Online (Sandbox Code Playgroud)
我试图拖放框架,并在"Link Binary With Libraries"中添加框架.
PS:我正在使用Xcode 7 beta,我尝试了beta 1和2,同样的问题.
我用Swift 2将Xcode 6更新为Xcode 7 beta.我收到此错误,我无法找到解决方法,请帮助我.谢谢.这是我的代码:
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [AnyObject]) {
let location = locations.last as! CLLocation
let center = CLLocationCoordinate2D(latitude: location.coordinate.latitude, longitude: location.coordinate.longitude)
let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01))
self.map.setRegion(region, animated: true)
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Objective-C method 'locationManager:didUpdateLocations:' provided by method 'locationManager(_:didUpdateLocations:)' conflicts with optional requirement method 'locationManager(_:didUpdateLocations:)' in protocol 'CLLocationManagerDelegate'
我已经podfile
定义了以下pod.
platform :ios, '8.0'
use_frameworks!
target 'LifeStream' do
pod 'SSKeychain'
pod 'LiveSDK'
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :branch => 'swift-2.0'
end
Run Code Online (Sandbox Code Playgroud)
我安装了pod并打开了我的工作区.我发现Alamofire的任何使用都可以正常工作,因为它将Swift 2版本作为框架导入项目.
当我尝试使用SSKeychain课程时,我会收到一个
使用未解析的标识符'SSKeychain`
同样适用于我尝试在LiveSDK中使用的任何类.
我的项目根目录中有一个桥头,项目配置为使用它.
#ifndef Header_h
#define Header_h
#import "SSKeychain/SSKeychain.h"
#import "LiveSDK/LiveConnectClient.h"
#endif /* Header_h */
Run Code Online (Sandbox Code Playgroud)
如果我改变了#import
从
#import "SSKeychain/SSKeychain.h"
Run Code Online (Sandbox Code Playgroud)
至
#import "SSKeychain.h"
Run Code Online (Sandbox Code Playgroud)
Xcode无法编译,因为它无法找到该文件.所以我假设桥接头正在工作,因为我的桥接头现在构建的方式不会因为找不到头而导致任何编译器错误.
桥头
框架搜索路径
我还将项目根目录添加到框架搜索路径中.
链接的框架
最后,我还将所有框架链接到项目中.
我的设置错过了什么吗?我已经有一周没能让Cocoapods在我的项目上工作了.我甚至创建了一个全新的项目,认为我的搞砸了; 这没有改变一件事.我不知道该怎么做才能解决这个问题.
在做了一些额外的研究之后,我发现了一篇博文,显示你必须在用户标题搜索中包含你的Pods目录
一位评论者还提到,如果您使用较新的Cocoapods Frameworks支持Swift,则需要包含Frameworks/**搜索路径.我已经包含了Pods/**和Frameworks/**但仍有相同的问题.
在进一步阅读之后,它开始听起来像是Cocoapods的限制.据我所知,您不能在项目中同时使用库和框架.
我看到了这个问题,但我仍然无法导入框架并在Xcode 7 beta 2(7A121l)中使用它.
所以目前我正在尝试使用结果,通过carthage.将其添加到带有二进制和嵌入框架的构建阶段/链接二进制文件后,我能够成功编译,但是我收到错误说明(是的,它表示成功,然后是错误:S):
No such module 'Result'
Run Code Online (Sandbox Code Playgroud)
关于进口:
import Result
func serverRequest() -> Result<String, NSError> {
...
}
Run Code Online (Sandbox Code Playgroud)
构建能够运行和编译,但我无法cmd +单击Result,例如.
编辑1: 在Xcode 6.3.2上它按预期工作.
编辑2: 打开雷达:21588771
我在两台不同的Mac(iMac和Mac Book pro)上收到此错误.不知道为什么人们无法重现它,但我需要一些帮助.
我正在运行OS X Yosemite 10.10.4的Mac上运行Xcode 7 beta 2(2015年6月23日).
甚至无法编译和运行我的项目..
我从创建菜单创建了一个单一的视图应用程序项目,就是这样.
编辑:
我试图删除并重新添加storyboard文件(也打开Main.storyboard cannote),我仍然收到相同的消息.这是崩溃报告:
Process: com.apple.CoreSimulator.CoreSimulatorService [2316]
Path: /Applications/Xcode-beta.app/Contents/Developer/Library/PrivateFrameworks/CoreSimulator.framework/Versions/A/XPCServices/com.apple.CoreSimulator.CoreSimulatorService.xpc/Contents/MacOS/com.apple.CoreSimulator.CoreSimulatorService
Identifier: com.apple.CoreSimulator.CoreSimulatorService
Version: ???
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: com.apple.CoreSimulator.CoreSimulatorService [2316]
User ID: 489132888
Date/Time: 2015-07-08 11:47:46.022 +0100
OS Version: Mac OS X 10.10.4 (14E11f)
Report Version: 11
Anonymous UUID: --value--
Time Awake Since Boot: 7500 seconds
Crashed Thread: 0
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Application Specific …
Run Code Online (Sandbox Code Playgroud)