标签: xcode

在 UIViewControllerRepresentable 中传递数据

我正在尝试使用 UIKit 制作 PDFView 并从以前的 SwiftUI 视图传递数据。数据本身是一个带有文件名的字符串。不知何故,该字符串没有从 UIViewControllerRepresentable 传递到 UIViewController 并且保持为空。我实在找不到发生这种情况的原因。你能检查一下我哪里错了吗?我希望这段代码足够了。

我正在使用 NavigationLink(destination: FileViewerWrapper(file: "some string")) {}

import PDFKit
import UIKit
import SwiftUI

let pdfView = PDFView()

class FileViewer: UIViewController {

var file = String()


override func viewDidLoad() {
    super.viewDidLoad()

    print("\n\n\n-----------------------\(file)\n-------------------------------\n\n\n")

    pdfView.translatesAutoresizingMaskIntoConstraints = false
    view.addSubview(pdfView)

    pdfView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor).isActive = true
    pdfView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor).isActive = true
    pdfView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true
    pdfView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor).isActive = true

    guard let path = Bundle.main.url(forResource: file, withExtension: "pdf", subdirectory: "Files") else { return }

    if let document = PDFDocument(url: …
Run Code Online (Sandbox Code Playgroud)

xcode pdfkit swiftui

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

dyld:找不到符号:___chkstk_darwin

将 Xcode 升级到版本 11.1 (11A1027) 后,我的 iOS 应用程序 (MyApp) 在开始运行时在 Xcode 中崩溃,并出现以下运行时错误:

dyld:未找到符号:___chkstk_darwin 引用自:/var/containers/Bundle/Application/xxxxxxxxxx/MyApp.app/MyApp 预期位于:/usr/lib/libSystem.B.dylib

MacOS:Mojave 10.14.6 (18G103) Xcode:11.1 (11A1027) 目标设备:iPhone 6 Plus 目标设备 iOS:12.4.2

在 Xcode 10.3 中没有任何问题。任何帮助,评论将不胜感激。提前致谢。

xcode xcode11

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

tvOS 13 顶层 - NSExtensionPrincipalClass `product_module_name.ContentProvider` 必须实现至少一个公共协议

将 tvOS 分段式顶部架子从使用TVTopShelfProvider(现已弃用)迁移到启动时会TVTopShelfContentProvider导致NSException启动。

该错误NSExtensionPrincipalClass product_module_name.ContentProvider must implement at least one public protocol表明我的类ContentProvider必须使用协议。TVTopShelfContentProvider是一个类,而不是一个协议。

查看 Apple 的示例项目,您可以看到它们也仅子类化TVTopShelfContentProvider.

最小的例子:

class ContentProvider: TVTopShelfContentProvider {

    override func loadTopShelfContent(completionHandler: @escaping (TVTopShelfContent?) -> Void) {
        requestMediaItemsIfNeeded {
            let itemCollection: TVTopShelfItemCollection = TVTopShelfItemCollection(items: self.items)
            itemCollection.title = "Collection Title"

            let sectionedContent: TVTopShelfSectionedContent = TVTopShelfSectionedContent(sections: [itemCollection])
            completionHandler(sectionedContent)
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

顶部货架相关的 Info.plist 值:

<key>NSExtension</key>
<dict>
    <key>NSExtensionPointIdentifier</key>
    <string>com.apple.tv-top-shelf</string>
    <key>NSExtensionPrincipalClass</key>
    <string>$(PRODUCT_MODULE_NAME).ContentProvider</string>
</dict>
Run Code Online (Sandbox Code Playgroud)

我是否缺少需要添加/更新的项目配置值?创建了一个新的最小顶架扩展,这些看起来是唯一需要的更改。

xcode swift tvos

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

如何使用 XCTest 从 iOS 13 删除/重置应用程序?

最近我开始使用 XCTest 测试 iOS 应用程序,但我发现了一些困难,主要困难是删除或重置每个测试类中的应用程序内容。

我目前正在使用 XCode 11 并尝试从 iOS 13 中为每个测试类删除/重置应用程序,我已经尝试过:

  • 通过跳板删除应用程序
  • 转至应用程序设置删除应用程序

这一步在我的测试中非常重要,因为在每个测试中我都需要创建一个配置文件并登录,所以在下一个测试中我需要从头开始安装应用程序

xcode xctest xcuitest ios13 xcode11

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

生成覆盖率报告时发生错误

测试完成后,出现代码覆盖率生成错误

我收到此错误“无法生成目标覆盖范围 * 仪器配置文件数据格式错误”

我有混合(obj-c 和 swift)项目。

错误图像

xcode ios xctest

7
推荐指数
0
解决办法
450
查看次数

dyld:未加载库:@rpath/App.framework/App

当从 Xcode 运行 Flutter Run for IOS 时,我遇到了这个问题。我进行了很多搜索,但没有一个解决方案对我有用。我关于 App.framework 的问题。我无法为此提供很好的解决方案。我正在为此苦苦挣扎。请指导我。我将发布我收到的错误。

dyld:库未加载:@rpath/App.framework/App 引用自:/~/Developer/CoreSimulator/Devices/9399EA4C-DDE3-4F6C-9CB9-A9D0194C2297/data/Containers/Bundle/Application/A5F968E9-0E67-4037- AFB0-02C5E1E68841/Runner.app/Runner 原因:找不到图像 (lldb)

提前致谢

target Version 10.3  
Xcode Version 11.1
Run Code Online (Sandbox Code Playgroud)

xcode ios flutter

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

Xcode 新构建系统 CocoaPods“复制 Pods 资源”在输出文件中包含 Assets.car 并与“复制捆绑资源”冲突

我们在 Xcode 项目中使用新的构建系统和 Cocoapods 1.7.5。我们的项目(我们称之为 Y)实际上是一个开发 pod,但我们还编写了一些代码来创建应用程序演示(您知道,为了使构建更快、迭代更快)。这些演示代码(AppDelegate.swift、启动任务等)不包含在开发容器中。剩余的大约 90% 的源代码和资源文件(例如 i18n 字符串和图像资源)被打包到开发 pod 中,供另一个项目(我们称之为 X)使用。

\n

在开发过程中,大部分更改发生在 Y 的 dev pod 部分,因此我们需要确保 X 执行时包含所有更改pod install

\n

最近我们遇到一个问题:

\n
error: Multiple commands produce \'/Users/x/Library/Developer/Xcode/DerivedData/Y-cawteybtitmeiafweribgqzkuhnr/Build/Products/Debug-iphoneos/Y.app/Assets.car\':\n1) Target \'Y\' (project \'Y\') has compile command with input \'/Users/name/DEV/workspace/Y/SupportFiles/Assets.xcassets\'\n2) That command depends on command in Target \'Y\' (project \'Y\'): script phase \xe2\x80\x9c[CP] Copy Pods Resources\xe2\x80\x9d\n
Run Code Online (Sandbox Code Playgroud)\n

经过几个小时的multiple commands produce assets.car谷歌搜索,我们终于看到了一个合理的解释

\n
\n

复制捆绑资源的 *.xcassets --> Assets.car

\n

[CP] 复制 …

xcode ios cocoapods podspec

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

在 Xcode dart 主入口点中指定

支持多种环境我的 Flutter 应用程序包含多个主要入口点文件:

main_prod.dart
main_dev.dart
main_staging.dart
Run Code Online (Sandbox Code Playgroud)

在每个文件中导入适当的配置文件:

void main() => runApp(
    new ConfigWrapper(config: Config.fromJson(config), child: new PlatterzApp()));
Run Code Online (Sandbox Code Playgroud)

构建 android APK,我可以使用命令指定入口点:

flutter build apk --split-per-abi -t lib/config/main_prod.dart
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种使用Xcode for iOS 应用程序(多个目标)进行存档的方法

xcode flutter

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

如何解决 Lottie 中加载新动画时的性能问题?

我正在尝试使用 Xcode 11.2 制作一个简单的游戏,其中包含一个动画循环背景和一个视图,该视图显示和更改项目中多个 Lottie JSON 文件的各种动画。

当我单击“下一步”按钮更改视图动画时,循环的背景视图会卡住一秒钟,直到加载视图内的下一个动画,应用程序中的所有内容都会像背景动画一样同时冻结。

CPU 使用率从 30% 到 63% 不等。

我不想让问题复杂化,所以我只是展示我使用 Lottie 的方式。

@IBAction func SubmitButtonAction(_ sender: UIButton) {
    
    showNextQuestion()
    
}

func showNextQuestion()->(){
    
    myTimer.invalidate()
    startCountdown(fromTime: 15)
    Manager.generateQuestion()
    lblLevel.text = String(Manager.questionNumber) + "/" + String(DataModel.Questions.count)
    nIndex = 0

    
    let animation = AnimationView(name: Manager.currentImage)
    
    animation.loopMode = .loop
    animation.play()
    animation.backgroundColor = UIColor.clear
   animation.frame = self.AnimView.bounds
    animation.backgroundBehavior = .pauseAndRestore
    if AnimView.subviews.isEmpty{
        self.AnimView.addSubview(animation)
    }
    else {
        for one in imgImageView.subviews{
            one.removeFromSuperview()
        }
        self.AnimView.addSubview(animation)
    }
   
    AnswerCollectionView.reloadData()
    RandomCollectionView.reloadData()
    
}
Run Code Online (Sandbox Code Playgroud)

我对有关该问题与什么相关的建议感兴趣 - 它是否与线程问题有关?

xcode swift swift3 lottie

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

未找到框架 Protobuf

在此输入图像描述我面临一个问题,我需要为我的 iOS 应用程序使用 FirebaseRemoteConfig。我添加了以下 Pod:

    pod 'Firebase/RemoteConfig'
Run Code Online (Sandbox Code Playgroud)

现在,当我在终端上运行命令时:

pod install 
Run Code Online (Sandbox Code Playgroud)

它向我显示了错误:

Framework not found 'Protobuf'
Run Code Online (Sandbox Code Playgroud)

确实令人沮丧,因为该项目在此之前运行良好。我尝试了堆栈溢出的一些建议,但无法解决问题。

# Uncomment this line to define a global platform for your project
platform :ios, '10.0'

# ignore all warnings from all pods
inhibit_all_warnings!

use_frameworks!
target 'S****k' do
pod 'AFNetworking', '~> 2.6'
pod 'TPKeyboardAvoiding', '~> 1.2'
pod 'SVProgressHUD', '~> 1.1'
pod 'Google/SignIn'
pod 'Mantle', '~> 2.0'
pod 'FBSDKCoreKit'#, '~> 4.8'
pod 'FBSDKLoginKit'#, '~> 4.8'
pod 'GooglePlaces', '~> 3.0.0'
#pod 'Firebase/Core'
pod 'GoogleTagManager'
pod 'GoogleIDFASupport'
pod …
Run Code Online (Sandbox Code Playgroud)

xcode ios firebase-remote-config

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