小编DJ-*_*ock的帖子

如何使用Windows开发机器为iPhone开发?

有没有办法在Windows机器上修补iPhone SDK?是否有针对Windows的iPhone SDK版本的计划?

我能想到的另一种方法是在Windows 上运行的VMWare服务器上运行Mac VM映像,尽管我不太确定这是多么合法.

windows iphone ios

1161
推荐指数
26
解决办法
110万
查看次数

Swift 3简单方法截断日期开始日/月/年

有没有像我们在Oracle数据库中那样截断日期的简单方法?例如,我需要从午夜开始设置值.在Oracle中我可以做TRUNC(SYSDATE).但我在Swift中看不到类似的方法.我查看了StackOverflow并看了一些DateFormatter的例子,Date Components将Date转换为String.我也看过这个问题,但不明白如何处理日期(不是NSDate)类型和我

但我不需要String值.我想避免转换为字符串并返回日期.我只想得到三个值:

开始当前日期(就像我们在Oracle中执行TRUNC(SYSDATE)一样)

本月初(就像我们在Oracle中做TRUNC(SYSDATE,'MONTH'))

年初(就像我们在Oracle中做TRUNC(SYSDATE,'YEAR'))

我尝试了这个,但它没有返回午夜:

let comp: DateComponents = Calendar.current.dateComponents([.year, .month, .day], from: Date())
let truncated = Calendar.current.date(from: comp)!
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我该怎么办?

datetime swift3

8
推荐指数
2
解决办法
5368
查看次数

打字稿扩展第三方类错误:ElementHandle 仅指一种类型,但在此处用作值

我正在尝试用一种方法扩展puppeteer的类 ElementHandle 。我已经检查了一些示例并编写了简单的代码,就像在这个答案中一样

但是 VSCode 向我显示了更改 ElementHandle 原型的行的错误:

'ElementHandle' 仅指一种类型,但在此处用作值。ts(2693)

我该如何解决?

我的代码:

import { ElementHandle } from 'puppeteer';

declare module 'puppeteer' {
    interface ElementHandle {
        scrollIntoView(): void;
    }
}

ElementHandle.prototype.scrollIntoView = async function (): Promise<void> {
    await this._scrollIntoViewIfNeeded();
}
Run Code Online (Sandbox Code Playgroud)

ElementHandle 类:https : //github.com/puppeteer/puppeteer/blob/master/src/JSHandle.js

extension-methods interface typescript puppeteer

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

iOS 9,10 CoreData:无法在路径中加载优化模型

我创建了新版本的CoreData模型并将现有模型迁移到它.应用程序在iOS 9+上没有任何问题,但对于iOS 9和10我收到此错误:

2017-10-22 19:28:37.081 CafeManager [16654:1918728] CoreData:无法在路径'/ Users/dj-glock/Library/Developer/CoreSimulator/Devices/A81AA9C4-7B59-4422-BA0A-0FD0D1A05205​​中加载优化模型/data/Containers/Bundle/Application/DD66571C-4EB6-4A8B-A99B-B447DD0FFFBA/CafeManager.app/CafeManager.momd/CafeManager v2.omo'

iOS 10:

CoreData:注释:无法在路径'/ Users/dj-glock/Library/Developer/CoreSimulator/Devices/3708F142-3BD0-4C70-8515-217B7785D285/data/Containers/Bundle/Application/3842402F-BEAE-47CB中加载优化模型-8C27-EC6CA7D76B03/CafeManager.app/CafeManager.momd/CafeManager v2.omo'

我检查了很多类似的问题,但没有为我找到解决方案.我试图在模拟器上重新安装应用程序,重新启动等等.有人可以提供建议吗?

文件夹包含以下文件:

在此输入图像描述

适用于iOS 9的AppDelegate CoreData堆栈:

// MARK: - Core Data stack for iOS 8+
static var managedObjectContext: NSManagedObjectContext = {
    var applicationDocumentsDirectory: URL = {
        let urls = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
        return urls[urls.count-1]
    }()

    var managedObjectModel: NSManagedObjectModel = {
        let modelURL = Bundle.main.url(forResource: "CafeManager", withExtension: "momd")!
        return NSManagedObjectModel(contentsOf: modelURL)!
    }()

    var persistentStoreCoordinator: NSPersistentStoreCoordinator = {
        let a = managedObjectModel.entities
        let coordinator = NSPersistentStoreCoordinator(managedObjectModel: managedObjectModel) …
Run Code Online (Sandbox Code Playgroud)

core-data ios swift ios9 ios10

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

iOS 12 错误:似乎来自与此上下文不同的 NSManagedObjectModel

在 iOS 12 模拟器上启动我的应用程序时,我开始收到以下错误。有人遇到过这样的问题吗?

2018-08-11 21:17:44.440144+0300 CafeManager[4633:128874] [error] error: The fetch request's entity 0x600001f6e940 'TablesTable' appears to be from a different NSManagedObjectModel than this context's
Run Code Online (Sandbox Code Playgroud)

我在 AppDelegate 中定义了全局常量:

let viewContext = AppDelegate.viewContext
Run Code Online (Sandbox Code Playgroud)

并将其与 NSFetchedResultsController 一起用于 UITableView 更新,例如:

import UIKit
import CoreData

class HistoryTablesTableViewController: FetchedResultsTableViewController {
    //MARK: variables
    private var fetchedResultsController: NSFetchedResultsController<TablesTable>?
    private var currentTable: TablesTable?
    private var tableNameTextField: UITextField!

    //MARK: system functions for view
    override func viewDidLoad() {
        super.viewDidLoad()
        sideMenu()
        addSyncObserver()
    }
    override func viewWillAppear(_ animated: Bool) {
        updateGUI()
    } …
Run Code Online (Sandbox Code Playgroud)

core-data swift ios12

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

React原生Android应用程序在一部手机上工作,但在另一部手机上崩溃(通过谷歌游戏商店生产)

我有使用React Native(不是expo)开发的android移动应用程序.我在模拟器(android和IOS)上测试它,它工作正常.然后我把它发布到谷歌播放.我在3台设备上测试了它:1)一加一 - 工作正常2)三星S8 - 崩溃3)三星S7 - 崩溃

我找到了崩溃的原因.三星正在拿起app-arm64-v8a-release.apk而1 + 1正在通过谷歌播放安装app-armeabi-v7a-release.apk.如果我在三星手机上手动下载app-armeabi-v7a-release.apk(而不是通过谷歌播放),那么应用程序工作正常.一些问题:

1)三星应该下载它正在下载的内容(app-arm64-v8a-release.apk)?2)如果是(我认为是对的)那么可能是什么问题?我如何调试生产应用程序.

注意:如果我在1 + 1和三星手机上手动安装通用apk,应用程序崩溃.

这是我的gradele.build文件

def enableSeparateBuildPerCPUArchitecture = true

def enableProguardInReleaseBuilds = true

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

    defaultConfig {
        applicationId "com.bakbakapp.bakbak"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 3
        versionName "3.0"
    }
    signingConfigs {
        release {
            if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
                storeFile file(MYAPP_RELEASE_STORE_FILE)
                storePassword MYAPP_RELEASE_STORE_PASSWORD
                keyAlias MYAPP_RELEASE_KEY_ALIAS
                keyPassword MYAPP_RELEASE_KEY_PASSWORD
            }
        }
    }
    splits {
        abi {
            def isReleaseBuild = false

            gradle.startParameter.taskNames.find {
                if (it ==~ /:app:assemble.*Release/) {
                    isReleaseBuild = true
                    return …
Run Code Online (Sandbox Code Playgroud)

android react-native

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

使用背景图片和贴纸向 Instagram 分享故事 - IOS Swift

我正在尝试通过我的 ios 应用程序上的 URL 方案分享带有背景图像和贴纸图像的故事,我正在使用附加的代码,但它不起作用。当我尝试仅分享背景图像或贴纸时,它确实有效。但是,当我尝试共享背景图像和其顶部的贴纸时,它不起作用。

有任何想法吗?

func shareToInstagram(deepLinkString : String){
        let url = URL(string: "instagram-stories://share")!
        if UIApplication.shared.canOpenURL(url){

            let backgroundData = UIImageJPEGRepresentation(UIImage(named: "shop_placeholder")!, 1.0)!
            let creditCardImage = UIImage(named: "share_instagram")!
            let stickerData = UIImagePNGRepresentation(creditCardImage)!
            let pasteBoardItems = [
                                    ["com.instagram.sharedSticker.backgroundImage" : backgroundData],
                                    ["com.instagram.sharedSticker.stickerImage" : stickerData],
                                  ]

            if #available(iOS 10.0, *) {

                UIPasteboard.general.setItems(pasteBoardItems, options: [.expirationDate: Date().addingTimeInterval(60 * 5)])
            } else {
                UIPasteboard.general.items = pasteBoardItems
            }
            UIApplication.shared.openURL(url)
        }
Run Code Online (Sandbox Code Playgroud)

share url-scheme ios instagram swift

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

iOS UILabel.appearance().textColor不可用

我正在尝试更改我的应用程序中所有标签的默认文本颜色.我曾尝试使用UILabel.appearance().textColor,但它不适用于我.有人可以告诉我做错了什么吗?我已经检查了很多关于SO的问题,最新的问题是这个.根据描述,它是可用的.

在此输入图像描述

如果我改变了背景颜色 - 它有效.试图改变tintColor - 没有效果.为什么?是从UIAppearance协议中删除了吗?

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate {
    var window: UIWindow?
    var smStore: SMStore?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

        // UIAppearance configuring
            let tintColor = UIColor.white
            //let backgroundColor = UIColor(red: 5, green: 72, blue: 149, alpha: 1)
            let backgroundColor = UIColor.black

            // Global tintColor
            window?.tintColor = tintColor

            // UIViews
            UIView.appearance().tintColor = tintColor
            UIView.appearance().backgroundColor = backgroundColor

            // UINavigationBars
            UINavigationBar.appearance().tintColor = tintColor
            UINavigationBar.appearance().backgroundColor = tintColor

            // UITableViews
            UITableView.appearance().backgroundColor = …
Run Code Online (Sandbox Code Playgroud)

ios uiappearance swift swift4

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

Swift 3.1问题与SKCloudServiceCapability

我正在尝试调用此函数来检查Apple Music订阅状态。我有一个有效的订阅,并在iPhone上听音乐。但是,当我在其上运行测试应用程序时,capability值无效。

它应该是SKCloudServiceCapability.musicCatalogPlaybackSKCloudServiceCapability.addToCloudMusicLibrary或未设置。我只能得到raw value = 257

func appleMusicCheckIfDeviceCanPlayback()
{
    let serviceController = SKCloudServiceController()
    serviceController.requestCapabilities { (capability:SKCloudServiceCapability, err:Error?) in
        switch capability {
        case SKCloudServiceCapability.musicCatalogPlayback:
            print("The user has an Apple Music subscription and can playback music!")
        case SKCloudServiceCapability.addToCloudMusicLibrary:
            print("The user has an Apple Music subscription, can playback music AND can add to the Cloud Music Library")
        case []:
            print("The user doesn't have an Apple Music subscription available. Now would be a good time to …
Run Code Online (Sandbox Code Playgroud)

ios swift apple-music

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

IPhone X真深度图像分析和CoreML

我明白我的问题与编程本身没有直接关系,看起来更像是研究.但可能有人可以在这里提出建议.

我对app有一个想法,当用户拍照并且应用程序将分析它并剪切除了所需对象(例如一块布料)之外的每一个并且将其保存在单独的图像中.昨天这是一项非常艰巨的任务,因为开发人员应该创建相当好的神经网络并对其进行教育.但在苹果发布具有真正深度相机的iPhone X之后,一半的问题都可以解决.根据我的理解,开发人员可以更轻松地删除背景,因为iPhone将知道背景的位置.

所以只留下几个问题:

I.带有真正深度相机的iPhone X拍摄的照片格式是什么?是否有可能创建能够使用图片深度信息的神经网络?

II.我已经阅读了有关CoreML的内容,尝试了一些示例,但对我来说仍然不清楚 - 如何在导入CoreML的外部神经网络方面实现以下行为:

  1. 神经网络将图像作为输入数据.

  2. NN分析它,在图像上找到所需的对象.

  3. NN不仅返回确定的对象类型,还返回裁剪对象本身或应裁剪区域的坐标/像素数组.

  4. 应用程序从NN获取所有必需的信息,并执行必要的操作以裁剪图像并将其保存到另一个文件或其他任何文件.

任何建议将被认真考虑.

neural-network ios coreml iphone-x

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

解析Core Data中按获取请求分组的NSDictionary结果

我需要使用 CoreData 从表中获取一些统计信息。我已经使用手册使用“group by”表达式提取数据。

这是我的源代码:

var popularGuestNames: [String] = []
        let keypathExp = NSExpression(forKeyPath: "guestName")
        let expression = NSExpression(forFunction: "count:", arguments: [keypathExp])

        let countDesc = NSExpressionDescription()
        countDesc.expression = expression
        countDesc.name = "count"
        countDesc.expressionResultType = .integer64AttributeType

        let request = NSFetchRequest<NSFetchRequestResult>(entityName: "GuestsTable")
        request.returnsObjectsAsFaults = false
        request.propertiesToGroupBy = ["guestName"]
        request.propertiesToFetch = ["guestName", countDesc]
        request.resultType = .dictionaryResultType

        let matchedGuests = try? context.fetch(request)
        guard matchedGuests != nil else {return popularGuestNames}
Run Code Online (Sandbox Code Playgroud)

但作为结果,我得到了类型为 [Any] 的matchedGuests。而我卡在这里。我可以使用 print 看到有 JSON 对象:

Optional(
[{
    count = 1;
    guestName …
Run Code Online (Sandbox Code Playgroud)

json core-data ios swift

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

为 UIPicker 设置 selectedRow 的问题

我在为 UIPicker 设置初始值时遇到问题。我有: UIPicker 在我的故事板中。连接到 TableViewController(我有静态表)类作为 IBOutlet:

在此处输入图片说明

class SettingsTableViewController: UITableViewController, UIPickerViewDelegate, UIPickerViewDataSource {
    //Variables
    let pricePerHour: Float = 0
    let defaults = UserDefaults.standard
    let currencies = ["USD", "RUR", "UAH", "BYN", "NIS"]

    //IBOutlets
    @IBOutlet weak var isTimeCafeSwitch: UISwitch!
    @IBOutlet weak var pricePerHourTextField: UITextField!
    @IBOutlet var currencyPicker: UIPickerView!
Run Code Online (Sandbox Code Playgroud)

我用这个答案作为设置初始值的例子。但是我收到 NSRangeException 是因为我想我正在尝试在 UI 选择器完全初始化之前为其设置值。我在我的代码中添加了一些打印来显示问题:

func numberOfComponents(in pickerView: UIPickerView) -> Int {
    return 1
}

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    print("Picker view initialized - getting number of …
Run Code Online (Sandbox Code Playgroud)

concurrency uipickerview swift3

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

iOS:UIAlertController 上的文本字段成为出现警报时的第一响应者

我使用以下代码将 textField 添加到 UIAlertController 中:

\n\n
let anAlertController = UIAlertController(title:title, message:message, preferredStyle: .alert)\n        weak var weakSelf = self\n\n        let aDefaultAction = UIAlertAction(title:defaultTitle, style: UIAlertAction.Style.default) {\n            UIAlertAction in\n\n        anAlertController.addAction(aDefaultAction)\n    }\n\n    let aCancelAction = UIAlertAction(title:canceltTitle, style: UIAlertAction.Style.cancel) {\n        UIAlertAction in\n    }\n    anAlertController.addAction(aCancelAction)\n\n    anAlertController.addTextField { (textField) in\n        textField.textAlignment = NSTextAlignment.center\n        textField.text = "textFieldText"\n        textField.delegate = self\n        textField.resignFirstResponder()\n    }\n    self.present(anAlertController, animated: true, completion: nil)\n
Run Code Online (Sandbox Code Playgroud)\n\n

当我尝试呈现 UIAlertController 时,文本字段自动成为第一响应者。我不\xe2\x80\x99 不希望文本字段在呈现警报时成为第一响应者。我用谷歌搜索并尝试了几种方法来避免这种情况,但没有运气。有人能告诉如何实现这一目标吗?

\n

first-responder ios swift uialertcontroller

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