小编Joh*_*alo的帖子

上传时Xcode 9"没有iTunes Connect帐户"错误

有了Xcode 9 beta 6中的某个项目,当我尝试上传到App Store时,我得到:

在此输入图像描述

我是此帐户的"管理员"角色.

  • 所有合同都是最新的
  • 我尝试过多次从Xcode prefs中删除/重新添加我的帐户
  • 从Xcode 8工作提交相同的项目(但是我需要从Xcode 9上传这个项目,因为它链接到iOS 11 beta)

团队中的另一位开发人员也看到了同样的事情,所以这似乎很常见.有人找到解决方法吗?

xcode itunesconnect

48
推荐指数
4
解决办法
2万
查看次数

使用 Xcode 12 + StoreKit 配置文件验证收据

我正在尝试使用 Xcode 12 和 StoreKit 配置文件验证收据,但不断收到 21002 错误。根据文档,我需要使用不同的证书。我生成了证书,但不清楚如何处理它?

#if DEBUG
        let certificate = “StoreKitTestCertificate” 
#else
        let certificate = “AppleIncRootCertificate” 
#endif
Run Code Online (Sandbox Code Playgroud)

这很好,但有什么用certificate

xcode storekit ios xcode12

9
推荐指数
1
解决办法
711
查看次数

AWS SNS是否在其iOS推送通知标头中添加了apns-push-type和apns-priority?

根据Apple的APNs文档,从iOS 13开始,http api的客户端必须发送和的标头字段apns-push-typeapns-priority否则请求将失败。可以肯定的是,使用iOS 13 beta的用户不会收到我们通过AWS / SNS发送的静默推送通知。

AFAICT,无法将这些标头字段“注入”到SNS实际发送的请求中。但是似乎亚马逊应该理所当然地这样做,因为如果没有它,数十亿条通知将很快开始失败。

有人知道他们是否有计划尽快这样做吗?或者,也许他们已经在这样做了,而我却缺少了一些东西?

amazon-web-services ios

7
推荐指数
2
解决办法
2210
查看次数

使用Swift和lldb设置符号断点

使用Swift时如何在lldb中设置符号断点?例如,有时我使用:

(lldb) b set -F '-[UIView(AdditionalLayoutSupport) updateConstraintsIfNeeded]'
Run Code Online (Sandbox Code Playgroud)

但这不再起作用:

断点2:无位置(待定)。警告:无法将断点解析到任何实际位置。

我也尝试过

(lldb) b set -F 'UIView.updateConstraintsIfNeeded()'
(lldb) b set -F 'UIView.updateConstraintsIfNeeded'
Run Code Online (Sandbox Code Playgroud)

但是没有爱。我想这个问题归结为使用Swift时lldb认为“完全限定的函数名”是什么。文档说:

-F(--fullname)

通过完全限定的函数名称设置断点。对于C ++,这意味着名称空间和所有参数,对于Objective C,这意味着具有类和选择器的完整函数原型。可以重复多次以为多个名称创建一个断点。

斯威夫特呢?

lldb swift

5
推荐指数
1
解决办法
1384
查看次数

有什么办法不让 CPU 在后台受到限制吗?

我有一个 CPU 任务需要在应用程序在后台运行时发生(通过获取或静默通知的方式)。此任务在前台运行时大约需要 1 秒,但在后台运行时大约需要 9 秒。它基本上是将大约 10 万个文本条目保存到数据库中。无论我使用FileHandle操作还是 Core Data sqlite 解决方案,性能配置文件都大致相同(Core Data 出人意料地慢了一点)。

我真的不想深入了解代码的细节。我已经对它进行了分析,并且在前台它非常高效。但很明显,当应用程序在后台运行时,它会被 iOS 限制为 9 倍的减速。这不会是一个大问题,除非响应无声通知 iOS 只给应用程序 30-40 秒的时间来完成,而这个 9 秒的任务可以让它超过限制。(其余部分正在等待我无法控制的子系统。)

所以问题是:

有什么方法可以告诉 iOS嗨,是的,我在后台,但我真的需要这段代码来快速运行并避免你的节流?FWIW 我已经在.userInitiatedqos 调度队列中运行了:

DispatchQueue.global(qos: .userInitiated).async {
  // code to run faster goes here
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

ios

5
推荐指数
1
解决办法
166
查看次数

绕轴旋转 SCNVector3

这可能更像是一个线性代数问题,但是假设我有一个 SCNVector,并且我想要一个新的 SCNVector,它与围绕 y 轴(或任何相关轴)的原始 SCNVector 成一定角度。所以理想情况下:

extension SCNVector3 {  
    // assume dot, cross, length, +, - functions are available.
    enum Axis {
        case x, y, z
    }
    func rotatedVector(aroundAxis: Axis, angle: Float) -> SCNVector3 {
        // code from smart person goes here
    }
}
Run Code Online (Sandbox Code Playgroud)

例如(0,0,-1).rotatedVector(aroundAxis: y, angle: pi/2) = (1,0,0)

谢谢!

trigonometry linear-algebra ios scenekit

4
推荐指数
1
解决办法
1444
查看次数

当视图超出其边界时将 UIView 渲染为图像

我想将 UIView 渲染为图像。我的首选 UIView 类别是

- (UIImage *)num_renderToImage
{
    UIGraphicsBeginImageContext(self.bounds.size);

    [self.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return image;
}
Run Code Online (Sandbox Code Playgroud)

但是,在这种情况下, UIView 具有在其边界之外绘制的元素,并且上面的内容会对其进行剪辑。改变传递给的大小UIGraphicsBeginImageContext无济于事,因为大小向下和向右增长,但这些元素在上方和左侧。这样做的正确方法是什么?

iphone ios

3
推荐指数
1
解决办法
908
查看次数

在Swift 3中从AudioBufferList提取数据

我正在尝试从呈现的AudioBufferList中提取本机[Float]数组,其中音频单元的流设置为32位浮点。在Swift 1和2中,我这样做:

    var monoSamples = [Float]()
    for i in 0..<Int(inNumberFrames) {
        withUnsafePointer(to: &bufferList.mBuffers.mData, {
            let ptr = $0
            let newPtr = ptr + i
            let sample = unsafeBitCast(newPtr.pointee, to: Float.self)
            monoSamples.append(sample)
        })
    }
Run Code Online (Sandbox Code Playgroud)

无疑不是最快的方法,但它确实有效。在Swift 3中,编译时没有错误,但是在运行时出现崩溃:

致命错误:不同大小的类型之间不能unsafeBitCast

这有点令人惊讶;Swift的Float是32位的,流的数据是32位的。

我想做的就是:

    withUnsafeMutablePointer(to: &bufferList.mBuffers.mData, {
        let monoSamples = [Float](UnsafeBufferPointer(start: $0, count:Int(inNumberFrames)))
    })
Run Code Online (Sandbox Code Playgroud)

但是我得到一个编译错误:

表达式类型'[Float]'不明确,没有更多上下文

什么是正确的方法?

core-audio ios swift swift3

3
推荐指数
1
解决办法
837
查看次数

在Swift 3中将C数组ptr转换为本机数组

我有一个来自C库的ptr,它指向一个Floats数组.它的类型是UnsafeMutablePointer.如何在Swift 3中创建本机[Float]数组?

这是我正在尝试的:

var reconstructedFloats = [Float](repeatElement(0, count: size))
reconstructedFloats.withUnsafeMutableBufferPointer {
  let reconstructedFloatsPtr = $0
  print(type(of:$0)) // "UnsafeMutableBufferPointer<Float>"
  cFloatArrayPtr?.withMemoryRebound(to: [Float].self, capacity: size) {
    UnsafeMutableRawPointer(reconstructedFloatsPtr.baseAddress!).storeBytes(of: $0.pointee, as: Float.self)
  }

UnsafeMutableRawPointer(reconstructedFloatsPtr.baseAddress!).storeBytes(of: (cFloatArrayPtr?.pointee)!, as: Float.self)
}
Run Code Online (Sandbox Code Playgroud)

这似乎过于复杂,所以希望有一种简单的方法,但即使这段代码也会产生编译错误:Type of expression is ambiguous without more context.

如果你想将它插入游乐场,这里是一个设计cFloatArrayPtr的完整示例:

// Let's contrive a C array ptr:
var size = 3
var someFloats: [Float] = [0.1, 0.2, 0.3]
var cFloatArrayPtr: UnsafeMutablePointer<Float>?

someFloats.withUnsafeMutableBufferPointer {
    cFloatArrayPtr = $0.baseAddress
}

print(type(of:cFloatArrayPtr!)) // "UnsafeMutablePointer<Float>"

var reconstructedFloats = [Float](repeatElement(0, count: size)) …
Run Code Online (Sandbox Code Playgroud)

swift swift3

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

读取json文件时始终"需要未知模块"

这里有一个RN newb的位.我正在尝试读取一些json数据文件:

function loadCategories() {
  const ids = ['tl1', 'tl2', 'tl3', 'tl4', 'tl5', 'tl6'];
  ids.forEach(function(id) {
    var contents = require('../Content/top-level/' + id + ".json.js");
    ...
  });
}
Run Code Online (Sandbox Code Playgroud)

但在这里我总是得到一个错误:

未处理的JS异常:需要未知模块"../Content/top-level/tl1.json.js".如果您确定模块在那里,请尝试重新启动打包程序或运行"npm install".

根据项目结构,文件存在且我的相对路径逻辑应该是正常的:

ProjectDir
  Components
    ThisComponent.js
  Content
    top-level
      tl1.json.js
      tl2.json.js
      ...
Run Code Online (Sandbox Code Playgroud)

即上面的代码正在运行ThisComponent.js并尝试访问tl1.json.js等,所以我认为相对路径../Content/top-level/tl1.json.js会起作用.

我试过了:

  • 重启打包器
  • ./Content/top-level/tl1.json.js改为引用
  • /Content/top-level/tl1.json.js改为引用

我在RN 0.36.0.一定要明显......对吗?

react-native

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