相关疑难解决方法(0)

Swift MultipeerConnectivity无条件崩溃DateComponentsBridgeFromObjectiveC

我有一个可重复的崩溃,以EXC_BREAKPOINT结尾,如下图所示:

MultipeerConnectivity崩溃

重现崩溃的步骤:

  1. 连接两个设备
  2. 开始使用FUNC sendResource转印(在resourceURL:URL,withName资源名称:字符串,toPeer的peerID:MCPeerID,withCompletionHandler completionHandler:?((错误) - >空隙)=无) - >进展?
  3. 通过调用func disconnect()断开启动传输的设备

编辑:通过调用Progress.cancel()来重现崩溃的另一种方法步骤:

  1. 连接两个设备
  2. 开始传输并存储Progress对象let progress:Progress = session.sendResource(...)
  3. 对进度对象调用取消,导致其他设备崩溃progress.cancel()

我在线上的代码didFinishReceivingResourceWithName:

func session(_ session: MCSession, didFinishReceivingResourceWithName resourceName: String, fromPeer peerID: MCPeerID, at localURL: URL, withError error: Error?) {
    // transfer to local URL
    MusicDownloadRequestor.sharedInstance.finishReceivingSongUploadAtLocalURL(tempUrl: localURL)
}
Run Code Online (Sandbox Code Playgroud)

看起来我的代码在堆栈跟踪中看起来不像...

* thread #25: tid = 0x806ec, 0x0000000100944af4 libswiftFoundation.dylib`static Foundation.DateComponents._unconditionallyBridgeFromObjectiveC (Swift.Optional<__ObjC.NSDateComponents>) -> Foundation.DateComponents with unmangled suffix "_merged" + 96, queue = 'com.apple.MCSession.callbackQueue', stop reason = EXC_BREAKPOINT (code=1, subcode=0x100944af4)
frame #0: 0x0000000100944af4 libswiftFoundation.dylib`static Foundation.DateComponents._unconditionallyBridgeFromObjectiveC …
Run Code Online (Sandbox Code Playgroud)

ios multipeer-connectivity swift

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

如何在我的Swift项目中使用Objective-C项目

注意:我知道如何从Swift调用Objective-C代码,但我不知道如下,

我是ios的新手.我想在我的项目中使用这个EsptouchForIOS的Demo.演示是在OC中编写的,它有一个故事板和控制器.我想知道如何在我的swift项目中集成演示,并在我的快速项目中使用该故事板和它的控制器.

xcode objective-c storyboard uiviewcontroller swift

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

如何向测试目标添加框架依赖项?

我创建了一个框架,其中包含对测试有用的代码(例如,一堆便利的初始值设定项)。现在我想在测试目标中导入该框架,但在 Xcode 中似乎没有办法做到这一点。import Dependency在构建时,只是导入它会给我“找不到模块”错误。

测试目标的常规选项卡没有任何设置(或任何设置):

在此处输入图片说明

Build Phase 选项卡有一个 Dependencies 部分,但是当我按下 + 按钮时,我想添加的框架没有显示在列表中:

在此处输入图片说明

还有一个 Link Binary with Libraries 部分,但是当我尝试选择框架时,Xcode 说该文件已被链接(在哪里?):

在此处输入图片说明

如果将框架添加到主要目标的框架、库和嵌入式内容部分,我可以导入和使用该框架,但我不想这样做,因为该框架仅用于测试代码。我没有看到用所有额外的初始值设定项污染命名空间的原因。我可能会尝试检查XCTest在运行时和崩溃时是否没有可用的类,但这似乎是一种解决方法而不是解决方案。

有什么建议吗?

PS 我使用的是最新版本的 Xcode (11.3.1)。

xcode dependency-management

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

在Swift Xcode项目中使用LLVM C API

我试图在用Swift编写的Xcode项目中使用LLVM C API.为此,我在这里松散地遵循指南,但遇到了麻烦.在编译步骤中,在Xcode中添加包含路径到构建设置后,我收到以下错误:

<unknown>:0: error: module 'LLVM_Backend.CodeGen.PBQP.math' requires feature 'cplusplus'
/Users/freddy/Development/llvm-source/build/include/llvm/Support/DataTypes.h:35:10: note: submodule of top-level module 'LLVM_Backend' implicitly imported here
#include <math.h>
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "./Analysis.h"
        ^
/Users/freddy/Development/llvm-source/llvm/include/llvm-c/./Analysis.h:22:10: note: in file included from /Users/freddy/Development/llvm-source/llvm/include/llvm-c/./Analysis.h:22:
#include "llvm-c/Types.h"
         ^
/Users/freddy/Development/llvm-source/llvm/include/llvm-c/Types.h:17:10: error: could not build module 'LLVM_Support_DataTypes'
#include "llvm/Support/DataTypes.h"
         ^
/Users/freddy/Development/Xcode Projects/SwiftLLVMTest/SwiftLLVMTest/main.swift:10:8: error: could not build Objective-C module 'LLVM_C'
import LLVM_C
Run Code Online (Sandbox Code Playgroud)

幻灯片的下一步是添加标志:

-Xcc -D__STDC_CONSTANT_MACROS \
-Xcc -D__STDC_LIMIT_MACROS
Run Code Online (Sandbox Code Playgroud)

但我不确定在构建设置中将它们放在哪里 - 将它们添加到'其他C标志'或'其他Swift标志'选项似乎没有做任何事情.

我应该怎么做呢?

llvm swift

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

如何将WeChat API添加到Swift项目中?

我正在尝试将微信共享功能添加到我的项目中.但是,SDK文件,文档,开发指南示例项目都在Objective-C中.我正在Swift中编写我的项目.

我试过的

我将以下SDK文件添加到我的项目中

libWeChatSDK.a
WechatAuthSDK.h
WXApi.h
WXApiObject.h
Run Code Online (Sandbox Code Playgroud)

我尝试按照这个答案的建议使用桥接头.

MyProject的桥接,Header.h

#import "WXApi.h"
Run Code Online (Sandbox Code Playgroud)

错误

但是,我仍然无法在我的代码中使用WeChat API.我收到以下错误:

WXApiObject.h

- (void) setThumbImage:(UIImage *)image;    // Expected a type
Run Code Online (Sandbox Code Playgroud)

WXApi.h

+(BOOL) sendAuthReq:(SendAuthReq*) req viewController : (UIViewController*) viewController delegate:(id<WXApiDelegate>) delegate;
// Expected a type
Run Code Online (Sandbox Code Playgroud)

<unknown>:0: error: failed to import bridging header '[my path]/MyProject-Bridging-Header.h' 
Run Code Online (Sandbox Code Playgroud)

有没有人成功地将WeChat API与Swift项目一起使用?我很乐意看到一个简短的步骤列表或一些示例代码.我不介意是否有任何补充链接到中国资源.

ios wechat swift

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

每个框架内的 module.modulemap 文件中的 export * 是什么?

我创建了一个名为 的框架Communication,框架容器内有一个module.modulemap文件。

模块.modulemap

framework module Communication {
  umbrella header "Communication.h"

  export *
  module * { export * }
}
Run Code Online (Sandbox Code Playgroud)

我可以理解该模块需要伞头将其暴露给包含应用程序/目标。

但是其他两行代码的含义是什么。

  export *
  module * { export * }
Run Code Online (Sandbox Code Playgroud)

如果有人知道这条线出口的是什么?

iphone frameworks ios swift swift4

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

如何在 UIImageView Swift 中使用 WebP 图像

我想在 UIImageView 我的 ios 项目中使用 webp 图像,该项目采用 Swift 语言。

我尝试使用Matt Thompson 库 ,但它不适用于 Swift 项目。我已经导入了框架并完成了所有必需的任务,但有很多链接错误。

如何在 swift 代码中使用 UIImageView 中的 webp Image?

uiimageview ios webp swift

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

如何使用Cocoa(Mac)在Swift中创建PDF

Xcode 7.3.2,Swift 2,Cocoa(Mac).

我的应用程序涉及用户输入一些文本,可以导出为PDF.

在我的应用程序的iOS版本中,我可以使用CoreText框架相对轻松地创建PDF :

let html = "<font face=\'Futura\' color=\"SlateGray\"><h2>\(title)</h2></font><font face=\"Avenir\" color=\"SlateGray\"><h4>\(string)</h4></font>"

    let fmt = UIMarkupTextPrintFormatter(markupText: html)

    // 2. Assign print formatter to UIPrintPageRenderer

    let render = UIPrintPageRenderer()
    render.addPrintFormatter(fmt, startingAtPageAt: 0)

    // 3. Assign paperRect and printableRect

    let page = CGRect(x: 10, y: 10, width: 595.2, height: 841.8) // A4, 72 dpi, margin of 10 from top and left.
    let printable = page.insetBy(dx: 0, dy: 0)

    render.setValue(NSValue(cgRect: page), forKey: "paperRect")
    render.setValue(NSValue(cgRect: printable), forKey: "printableRect")

    // 4. …
Run Code Online (Sandbox Code Playgroud)

pdf macos cocoa swift

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

快速检查Mac电池百分比

我一直在尝试以编程方式检查mac电池级别.可以在ios上完成,但我想在mac.i中找到一些在stackoverflow上找到的资源,但这些链接已被弃用.有任何想法吗?

macos swift

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

Swift版本的Cocos2d代码:sprite1.colorRGBA

我使用下面的cocos2d代码并工作:

CCSprite *sprite1 = [[CCSprite alloc] init];
sprite1.position = ccp(SW*0.1f, SH*0.82f);
sprite1.normalMapSpriteFrame = normalMap;
sprite1.effect = glass;
sprite1.colorRGBA = [CCColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.0f];
Run Code Online (Sandbox Code Playgroud)

现在尝试将其移植到Swift,但colorRGBA最后一行得到错误.帮助我获得正确的代码.

    var sprite1 = CCSprite.node() as CCSprite
    sprite1.position = ccp(SW*0.1, SH*0.82);
    sprite1.normalMapSpriteFrame = normalMap;
    sprite1.effect = glass;
    sprite1.colorRGBA =  ______ ?
Run Code Online (Sandbox Code Playgroud)

cocos2d-iphone ios cocos2d-swift

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