小编Moc*_*cha的帖子

xcode 11 关闭辅助编辑器快捷方式

除了重点编辑器之外,是否有关闭所有其他编辑器的快捷方式?

以前我会用选项打开一个文件,这样它就会显示为第二个编辑器。当我完成第二个编辑器时,我将仅使用 show editor(命令 + 返回)“关闭”它。使用 xcode 11,第二个编辑器不是助理编辑器的一部分。所以,我不能只用显示编辑器“关闭”它。

简单来说.. 是否有关闭右侧编辑器并仅显示左侧编辑器的快捷方式。

在此处输入图片说明

xcode11

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

UIView.transition 有延迟

我有同时进行的动画,我想在中间过渡 VC(它会淡出,所以它会看到一些其他动画)。但是,我找不到如何延迟类似于 UIView.animateWithDuration 的转换的文档。

我想实现这个目标...

UIView.transition(withDuration: 0.5, delay: 0.1, options: .transitionCrossDissolve, animations: {})
Run Code Online (Sandbox Code Playgroud)

我可以像这样手动添加延迟..但想知道是否有更优雅的方法。

DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {}
Run Code Online (Sandbox Code Playgroud)

uiviewanimation ios swift

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

密钥库无法加载 ID 为 _androidx_security_master_key_ 的密钥

我正在尝试使用 masterKey 来加密共享首选项。但是,有时我的用户会由于来自密钥库的 invalidKeyException 而崩溃。我无法在本地重现这个 =\

 java.security.KeyStoreException: the master key android-keystore://_androidx_security_master_key_ exists but is unusable


 Caused by: java.security.InvalidKeyException: Keystore cannot load the key with ID: _androidx_security_master_key_
Run Code Online (Sandbox Code Playgroud)

任何想法为什么会发生这种情况?

    val masterKey = MasterKey.Builder(context)
        .setKeyGenParameterSpec(
            KeyGenParameterSpec.Builder(
                MasterKey.DEFAULT_MASTER_KEY_ALIAS,
                PURPOSE_ENCRYPT or PURPOSE_DECRYPT
            )
                .setBlockModes(BLOCK_MODE_GCM)
                .setEncryptionPaddings(ENCRYPTION_PADDING_NONE)
                .setKeySize(MasterKey.DEFAULT_AES_GCM_MASTER_KEY_SIZE)
                .build()
        )
        .build()
    securePrefs = EncryptedSharedPreferences.create(
        context,
        PREFERENCES,
        masterKey,
        EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
        EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
    )
Run Code Online (Sandbox Code Playgroud)

android keystore

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

可本地化字符串大小写的最佳实践

当我本地化我的应用程序时,由于大小写问题,我发现了许多重复项。

例如,我想使用“完成”和“完成”。我应该有两个单独的键值要翻译,还是应该使用“Done”并将其小写?

某些语言的单词是否大写是否会有所不同?

使用一把钥匙而不是两把钥匙的优点/缺点是什么?

localization ios

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

检测视图控制器何时从弹出窗口出现

我正在导航堆栈的深处弹出一个视图控制器.是否可以检测视图控制器是从推送还是弹出显示?

nav stack:

[A] -> [B] -> [C] -> [D] -> [E]
Run Code Online (Sandbox Code Playgroud)

[E]弹出[B]

nav stack:

[A]  -> [B] // Possible to detect if B appears from a pop?
Run Code Online (Sandbox Code Playgroud)

cocoa-touch uiviewcontroller uinavigationcontroller ios

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

从不调用函数的完成处理程序会产生什么影响?

如果你从不调用完成处理程序会发生什么?有没有什么副作用?我假设可能存在内存泄漏,但我找不到任何文档。

func completeMe(completionHandler: @escaping (String?) -> Void) {
   return
}
Run Code Online (Sandbox Code Playgroud)

completionhandler swift

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

如何在 AndroidManifest.xml 中注入主机和架构以进行 Android 深度链接

我正在尝试使用 build.gradle 将 url 架构和路径动态注入到我的 AndroidManifest.xml 文件中作为参考

但是,这不允许触发深度链接。

当我在 AndroidManifest.xml 中使用静态值时,我测试了深度链接的工作情况。

            // AndroidManifest.xml
            <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data
                android:scheme="${appScheme}"
                android:host="${hostName}"
                android:path="/path2" />

            <data
                android:scheme="${appScheme}"
                android:host="${hostName}"
                android:path="/path1" />
        </intent-filter>




// build.gradle (:app)
defaulConfig {
        manifestPlaceholders = [
        hostName: "www.host_name.com",
        appScheme: "https"
    ]
}


  demo {
        resValue "string", "hostName", "www.host_demo.com"
        resValue "string", "appScheme", "https"
    }

    staging {
        resValue "string", "hostName", "www.host_staging.com"
        resValue "string", "appScheme", "http"
    }
Run Code Online (Sandbox Code Playgroud)

android deep-linking android-manifest

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

如何使用协议的任何关键字来符合 Equatable?

我想让我的协议符合 Equatable。但是,每当我使用该协议时,我都会收到错误Type any {protocol} does not conform to Equatable.

protocol ExampleDataProtocol: Equatable {
  var someData: Int { get set }
}

public extension ExampleDataProtocol {
  static func ==(lhs: any ExampleDataProtocol, rhs: any ExampleDataProtocol) -> Bool {
    return lhs.someData == rhs.someData
  }

  static func ==(lhs: Self, rhs: Self) -> Bool {
    return lhs.someData == rhs.someData
  }
}

struct SomeStruct: Equatable { // Type 'SomeStruct' does not conform to protocol 'Equatable'
  var someData: any ExampleDataProtocol
}
Run Code Online (Sandbox Code Playgroud)

当我手动添加协议存根时,我any ExampleDataProtocol 对 Equatable …

swift

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