Snap Kit 不使用 startSending 打开 Snapchat
Snap Kit doesn't open Snapchat with startSending
我正在使用他们的示例代码试用 Snapchat 的 Snap Kit 框架,但是当 运行 代码没有任何反应,也没有抛出任何错误。
import SCSDKCreativeKit
let snap = SCSDKNoSnapContent()
snap.sticker = SCSDKSnapSticker(stickerImage: UIImage(named: "story_share.png")!)
snap.caption = "Snap on Snapchat!"
snap.attachmentUrl = profileURL.absoluteString
SCSDKSnapAPI().startSending(snap) { (error: Error?) in
print(error)
}
日志也没有指示错误:
myapp[853:121028] [SnapKit] Dynamic config update status: success
我试过或投保的东西是正确的:
- 我的应用已使用正确的包 ID 在线注册,我的测试 snapchat 用户名和创意工具包已被选中
- 开发密钥在 Info.plist 文件中
SCSDKClientId
snapchat
在 LSApplicationQueriesSchemes
的列表中
- 代码在主线程上运行
- 使用他们的
userInteractionEnabled
技巧没有什么不同
- 我正在使用 carthage 并像往常一样嵌入核心和创意框架
这不起作用的原因可能是什么?
我发现了一个令人失望的答案,它只能使用已弃用的方法调用:
SCSDKSnapAPI(content: snap).startSnapping() { (error: Error?) in
...
}
我希望 Snapchat 将来修复他们糟糕的框架。如果有人知道实际的解决方案,请告诉我,我会接受你的回答。
SCSDKSnapAPI() 需要定义为一个class变量。您的代码没有显示实现,但是当我在 func() 而不是 Class 级别实例化 SCSDKSnapAPI() 时遇到了同样的问题。
这是我发现的一个按预期工作的实现:
class CreateViewController: UIViewController {
fileprivate lazy var snapAPI = {
return SCSDKSnapAPI()
}()
@IBAction func sendSnap2(_ sender: Any) {
//self.snapAPI = SCSDKSnapAPI() <<DO NOT DO THIS>>
let snap2 = SCSDKNoSnapContent()
view.isUserInteractionEnabled = false
snapAPI.startSending(snap) { [weak self] (error: Error?) in
self?.view.isUserInteractionEnabled = true
if (error != nil) {
print("Error Unknown", error!)
}
else {
print("no error")
}
}
}
我正在使用他们的示例代码试用 Snapchat 的 Snap Kit 框架,但是当 运行 代码没有任何反应,也没有抛出任何错误。
import SCSDKCreativeKit
let snap = SCSDKNoSnapContent()
snap.sticker = SCSDKSnapSticker(stickerImage: UIImage(named: "story_share.png")!)
snap.caption = "Snap on Snapchat!"
snap.attachmentUrl = profileURL.absoluteString
SCSDKSnapAPI().startSending(snap) { (error: Error?) in
print(error)
}
日志也没有指示错误:
myapp[853:121028] [SnapKit] Dynamic config update status: success
我试过或投保的东西是正确的:
- 我的应用已使用正确的包 ID 在线注册,我的测试 snapchat 用户名和创意工具包已被选中
- 开发密钥在 Info.plist 文件中
SCSDKClientId
snapchat
在LSApplicationQueriesSchemes
的列表中
- 代码在主线程上运行
- 使用他们的
userInteractionEnabled
技巧没有什么不同 - 我正在使用 carthage 并像往常一样嵌入核心和创意框架
这不起作用的原因可能是什么?
我发现了一个令人失望的答案,它只能使用已弃用的方法调用:
SCSDKSnapAPI(content: snap).startSnapping() { (error: Error?) in
...
}
我希望 Snapchat 将来修复他们糟糕的框架。如果有人知道实际的解决方案,请告诉我,我会接受你的回答。
SCSDKSnapAPI() 需要定义为一个class变量。您的代码没有显示实现,但是当我在 func() 而不是 Class 级别实例化 SCSDKSnapAPI() 时遇到了同样的问题。
这是我发现的一个按预期工作的实现:
class CreateViewController: UIViewController {
fileprivate lazy var snapAPI = {
return SCSDKSnapAPI()
}()
@IBAction func sendSnap2(_ sender: Any) {
//self.snapAPI = SCSDKSnapAPI() <<DO NOT DO THIS>>
let snap2 = SCSDKNoSnapContent()
view.isUserInteractionEnabled = false
snapAPI.startSending(snap) { [weak self] (error: Error?) in
self?.view.isUserInteractionEnabled = true
if (error != nil) {
print("Error Unknown", error!)
}
else {
print("no error")
}
}
}