我刚刚安装了Xcode 8 beta,以便在iOS 10 beta中测试我现有的Cordova应用程序(通过模拟器).当应用程序启动时,它只是挂在加载页面上 - 似乎deviceready
事件没有被触发.
所以我也安装iOS版10测试我的产品iPad Air(以防万一它是一个模拟器的问题),但我得到了相同的结果.
该应用程序在iOS 9.3(设备和模拟器)上运行良好.
有人遇到/解决了这个问题吗?
UPDATE
此问题的其他症状包括:
在iOS 10中,CoreData团队为NSManagedObject添加了一个新的"fetchRequest"方法.它看起来像这样:
public class func fetchRequest() -> NSFetchRequest<NSFetchRequestResult>
Run Code Online (Sandbox Code Playgroud)
根据我的理解,我们可以将其替换为:
let request = NSFetchRequest<MyEntity>(entityName: "MyEntity")
Run Code Online (Sandbox Code Playgroud)
有了这个:
let request = MyEntity.fetchRequest()
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试做出这样一个简单的请求时:
let request = MyEntity.fetchRequest()
do {
results = try request.execute()
} catch let error {
print("failed to fetch coffee object: \(error)")
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
错误域= NSCocoaErrorDomain代码= 134060"(null)"UserInfo = {message =在没有范围内的NSManagedObjectContext的情况下无法获取}
所以,显然错误是说我需要将NSManagedObjectContext带入范围.我一直在寻找示例,但似乎可以找到如何使用新API功能执行请求的完整示例.
使用最新的Core Data API功能,如何进行简单的提取请求?基本问题是如何将NSmanagedObjectCotnext带入范围.
我应该注意到,我能够使用传统语法成功发出请求.
在我的应用程序中,我使用card.io扫描信用卡.它在iOS 9中运行良好.在iOS 10中,应用程序崩溃,我无法在xcode 8 beta 2控制台中找到崩溃日志,因为它会抛出大量垃圾邮件.
然后我检查了隐私 - >设置以查看我的应用程序是否禁用了相机,但我的应用程序未列在该部分中.请注意,iOS 10并未授权我的应用程序使用相机.
我使用以下代码来请求权限:
-(BOOL)checkCameraPermissions{
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
if(authStatus == AVAuthorizationStatusAuthorized)
{
// start card-io
return YES;
}
else if(authStatus == AVAuthorizationStatusNotDetermined)
{
[AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted)
{
if(granted)
{
//Start card-io
[self testIsNewCard];
}
}];
}
else if (authStatus == AVAuthorizationStatusRestricted)
{
//Alert
// Alert camera denied
UIAlertController *aCon=[UIAlertController alertControllerWithTitle:@"Camera denied" message:@"Camera cannot be used" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *ok =[UIAlertAction actionWithTitle:@"Ok" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
[aCon dismissViewControllerAnimated:YES completion:nil];
}]; …
Run Code Online (Sandbox Code Playgroud) 在xcode 7的早期版本中,我们可以通过在xcode帐户中添加apple id然后选择团队来在真实设备上运行我们的应用程序.
但是现在发布的xcode 8 beta 2,没有"修复问题"按钮,而是"自动管理签名"可用.
我想为此获得解决方案.所以,如果有人解决了这个问题,请帮助我.
我的钥匙串中有两个证书,用于代码签名.一个是我的团队的生产证书,我用它来签署企业分发的应用程序.另一个是我用于签署开发应用程序的开发证书(同一团队的一部分).
在Xcode 8中,我取消选择了"自动管理签名",现在我的证书已设置为与我的团队相关联的生产证书,现在只允许我签署分发应用程序.我可以将配置文件更改为开发配置文件,但后来我收到一条错误,"配置文件"开发 - 配置文件"不包括签名证书"生产证书".但Xcode 8不允许我更改我的证书手动.
如何在Xcode 8中的同一团队中的代码签名身份之间进行更改?
我在Xcode beta 2和iOS 10 beta 2之前有一个工作的自定义UIPresentationController.我没有更改任何代码,但现在正在呈现标准模式演示文稿.
UIPresentationController的Apple示例代码中有一条说明:
对于将使用自定义演示控制器的演示文稿,该演示控制器也可以是transitioningDelegate.这避免了在源视图控制器中引入另一个对象或实现.
transitioningDelegate没有对其目标对象的强引用.为了防止在调用-presentViewController之前释放presentationController:animated:completion:NS_VALID_UNTIL_END_OF_SCOPE属性被附加到声明中.
我在演示之前和之后检查了呈现的视图控制器上的transitioningDelegate.在它是我的自定义UIPresentationController之前,但它之后是零.我的猜测是该引用正在发布,但我在Swift中找不到与NS_VALID_UNTIL_END_OF_SCOPE等效的内容.编辑:我已经验证过transitioningDelegate是在演示之前设置的,然后是时候呈现的nil.
我在呈现视图控制器中的代码:
@IBAction func buttonAction(_ sender: UIButton) {
let secondViewController = storyboard!.instantiateViewController(withIdentifier: "NewViewController") as! NewViewController
let presentationController = MyPresentationController(presentedViewController: secondViewController, presenting: self)
presentationController.initialFrame = button.frame
secondViewController.transitioningDelegate = presentationController
// Move map
let pixelsToMove: CGFloat = mapView.frame.height / 4
let region = self.mapView.region
self.mapView.setRegion(region, offsetBy: pixelsToMove, animated: true)
// Delegate to NewViewController
secondViewController.mapView = mapView
mapView.delegate = secondViewController
print(secondViewController.transitioningDelegate)
UIView.animate(withDuration: 0.3, animations: {
let tabBar = self.tabBarController!.tabBar
tabBar.frame.origin.y += tabBar.frame.height …
Run Code Online (Sandbox Code Playgroud) uiviewcontroller ios swift uipresentationcontroller xcode8-beta2
我在一个SKSpriteNode(名称:square)和一个SKLabel(name:label)中创建了一个场景Case.sks(使用Level Editor).在我的主场景GameScene.sks中,我使用带有"Case"的SKReferenceNode作为参考.
我需要从我的主场景中访问"方形"精灵.
我的第一个想法是直接调用子节点:
let firstSquare = childNode(withName: "square") as! SKSpriteNode
Run Code Online (Sandbox Code Playgroud)
但我得到了:
Fatal error: unexpectedly found nil while unwrapping an Optional value
Run Code Online (Sandbox Code Playgroud)
所以我尝试过:
let caseRef = childNode(withName: "Case") as! SKReferenceNode
let firstSquare = caseRef.childNode(withName: "square") as! SKSpriteNode
Run Code Online (Sandbox Code Playgroud)
但我得到了第一个广场线:
Fatal error: unexpectedly found nil while unwrapping an Optional value
Run Code Online (Sandbox Code Playgroud)
如何获取参考场景的子节点?
我使用Swift 3.0和Xcode 8 Beta 2创建了一个iOS单视图应用程序.我正在使用AVFoundation.framework
.
这是我的视图控制器代码:
import UIKit
import AVFoundation
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
if AVCaptureDevice.authorizationStatus(forMediaType: AVMediaTypeVideo) == .notDetermined {
AVCaptureDevice.requestAccess(forMediaType: AVMediaTypeVideo, completionHandler: { (granted: Bool) in
if granted {
print("granted")
}
else {
print("not granted")
}
})
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我在我的设备上运行它时,应用程序在执行该AVCapture.requestAccess
行后崩溃(未执行完成处理程序且不抛出任何异常).
控制台中唯一的事情是:
2016-07-15 14:55:44.621819 testpp[2261:912051] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2016-07-15 14:55:44.626012 testpp[2261:912051] [MC] Reading from public effective user settings.
2016-07-15 14:55:59.284610 testpp[2261:912085] [access] <private>
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?
当我尝试使用此方法注销用户时,我只是收到错误:
致命错误:'试试!' 表达式意外地引发了错误:Error Domain = FIRAuthErrorDomain Code = 17995"访问钥匙串时发生错误." UserInfo = {NSLocalizedDescription =访问钥匙串时发生错误.,error_name = ERROR_KEYCHAIN_ERROR,NSLocalizedFailureReason = SecItemDelete(-34018)}:file /Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-800.0.33.1/src /swift/stdlib/public/core/ErrorType.swift,第146行
func logout() {
try! FIRAuth.auth()!.signOut()
}
Run Code Online (Sandbox Code Playgroud)
我没有在网上找到任何解决此错误的内容..有谁知道可能是什么问题?
xcode8-beta2 ×9
ios ×5
ios10 ×3
swift ×3
xcode ×2
avfoundation ×1
card.io ×1
certificate ×1
code-signing ×1
cordova ×1
core-data ×1
objective-c ×1
skspritenode ×1
sprite-kit ×1
swift3 ×1