有没有办法在Windows机器上修补iPhone SDK?是否有针对Windows的iPhone SDK版本的计划?
我能想到的另一种方法是在Windows 上运行的VMWare服务器上运行Mac VM映像,尽管我不太确定这是多么合法.
有没有像我们在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)
我该怎么办?
我正在尝试用一种方法扩展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
我创建了新版本的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) 在 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) 我有使用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) 我正在尝试通过我的 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) 我正在尝试更改我的应用程序中所有标签的默认文本颜色.我曾尝试使用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) 我正在尝试调用此函数来检查Apple Music订阅状态。我有一个有效的订阅,并在iPhone上听音乐。但是,当我在其上运行测试应用程序时,capability值无效。
它应该是SKCloudServiceCapability.musicCatalogPlayback,SKCloudServiceCapability.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) 我明白我的问题与编程本身没有直接关系,看起来更像是研究.但可能有人可以在这里提出建议.
我对app有一个想法,当用户拍照并且应用程序将分析它并剪切除了所需对象(例如一块布料)之外的每一个并且将其保存在单独的图像中.昨天这是一项非常艰巨的任务,因为开发人员应该创建相当好的神经网络并对其进行教育.但在苹果发布具有真正深度相机的iPhone X之后,一半的问题都可以解决.根据我的理解,开发人员可以更轻松地删除背景,因为iPhone将知道背景的位置.
所以只留下几个问题:
I.带有真正深度相机的iPhone X拍摄的照片格式是什么?是否有可能创建能够使用图片深度信息的神经网络?
II.我已经阅读了有关CoreML的内容,尝试了一些示例,但对我来说仍然不清楚 - 如何在导入CoreML的外部神经网络方面实现以下行为:
神经网络将图像作为输入数据.
NN分析它,在图像上找到所需的对象.
NN不仅返回确定的对象类型,还返回裁剪对象本身或应裁剪区域的坐标/像素数组.
应用程序从NN获取所有必需的信息,并执行必要的操作以裁剪图像并将其保存到另一个文件或其他任何文件.
任何建议将被认真考虑.
我需要使用 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) 我在为 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) 我使用以下代码将 textField 添加到 UIAlertController 中:
\n\nlet 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)\nRun Code Online (Sandbox Code Playgroud)\n\n当我尝试呈现 UIAlertController 时,文本字段自动成为第一响应者。我不\xe2\x80\x99 不希望文本字段在呈现警报时成为第一响应者。我用谷歌搜索并尝试了几种方法来避免这种情况,但没有运气。有人能告诉如何实现这一目标吗?
\nios ×8
swift ×7
core-data ×3
swift3 ×2
android ×1
apple-music ×1
concurrency ×1
coreml ×1
datetime ×1
instagram ×1
interface ×1
ios10 ×1
ios12 ×1
ios9 ×1
iphone ×1
iphone-x ×1
json ×1
puppeteer ×1
react-native ×1
share ×1
swift4 ×1
typescript ×1
uiappearance ×1
uipickerview ×1
url-scheme ×1
windows ×1