我昨天发了一个应用程序进行审核,没问题.然后我意识到我做了很少的修复(将地图的最大缩放级别从19改为18,没有别的),所以我从iTunes Connect中删除了二进制文件,并尝试重新提交.
现在我有这个警告:
我不明白为什么,因为我的架构是:
该应用程序在模拟器中运行良好.如果我尝试使用警告中建议的标准体系结构(armv7,arm64),那么应用程序将无法构建,我得到:
我正在使用lib route-me,我设置了相同的架构设置.
覆盆子裨类型3具有64位CPU,但它的体系结构是不arm64
而是armhf
.arm64
和之间有什么区别armhf
?
当使用Podfile用Xcode5开发iOS 7应用程序时,我们总是遇到这个问题.
经过一番搜索,似乎没有CocoaPods的最终解决方案?当你看到这个时,也许就解决了.
现在如何解决这些问题?
问题是:Pods作为'libPods.a'的隐式依赖被拒绝,因为它的架构'armv7 armv7s'不包含所有必需的架构'armv7 armv7s arm64'
我有两个"解锁"设备,一个iPad mini 3和一个Galaxy Edge 6,它们都有一个终端和一组简单的unix命令.我认为这两款设备都有arm64处理器,但是当我跑步时
uname -a
Run Code Online (Sandbox Code Playgroud)
在两台设备上我得到以下内容:
对于iPad mini 3:
xxxxs-iPad:/var/mobile root# uname -a
Darwin xxxx-iPad 14.0.0 Darwin Kernel Version 14.0.0: Wed Jun 24 00:50:15 PDT 2015; root:xnu-2784.30.7-30/RELEASE_ARM64_S5L8960X iPad4, **arm64**, J85mAP
Run Code Online (Sandbox Code Playgroud)
对于三星Galaxy s6 Edge:
u0_a203@zerolte:/ $ uname -a
Linux localhost 3.10.61-4497415 #1 SMP PREEMPT Thu Apr 9 15:06:40 KST 2015 **aarch64** GNU/Linux
Run Code Online (Sandbox Code Playgroud)
如果我没有错,那么J85mAP和GNU/Linux的最后一个信息代表固件,而倒数第二个信息,arm64和aarch64代表处理器.
我的问题如下:显然字符串"arm64"和"aarch64"不一样,但我一直认为arm64和aarch64是相同的.(甚至告诉你何时将arm64标签放在这里的问题上.)
那么,他们真的相同吗?
特别是,对于两个目标的交叉构建库,我应该担心什么?事实上,我考虑到了gcc 5.2.0,但也许还有较低版本.我可以通过
-target=arm64
Run Code Online (Sandbox Code Playgroud)
要么
-target=aarch64
Run Code Online (Sandbox Code Playgroud)
根据我的目标设备,只是担心配置的其余选项?
编辑 Hum,再次寻找,但没有成功.
我有一个在 Windows 操作系统中运行良好的项目,但是当我切换笔记本电脑并在MacBook Pro M1中打开现有项目时。我无法在MacBook pro M1中运行现有的 Android 项目。首先我得到
任务“:app:kaptDevDebugKotlin”执行失败。> 执行 org.jetbrains.kotlin.gradle.internal.KaptExecution 时发生失败 > java.lang.reflect.InvocableTargetException(无错误消息)
这个错误是由于 Room 数据库造成的,我应用了一个修复程序,在 Room 数据库之前添加了以下库,并且还将我的 JDK 位置从文件结构从 JRE 更改为 JDK。
卡普特“org.xerial:sqlite-jdbc:3.34.0”
//Room components
kapt "org.xerial:sqlite-jdbc:3.34.0"
implementation "androidx.room:room-ktx:$rootProject.roomVersion"
kapt "androidx.room:room-compiler:$rootProject.roomVersion"
androidTestImplementation "androidx.room:room-testing:$rootProject.roomVersion"
Run Code Online (Sandbox Code Playgroud)
之后,我遇到了一个问题,即未知主机 CPU 架构:arm64
我的项目中有一个 SDK 使用下面的行。
android {
externalNativeBuild {
ndkBuild {
path 'Android.mk'
}
}
ndkVersion '21.4.7075529'
}
Run Code Online (Sandbox Code Playgroud)
应用程序摇篮
externalNativeBuild {
cmake {
path "src/main/cpp/CMakeLists.txt"
version "3.18.1"
//version "3.10.2"
}
}
Run Code Online (Sandbox Code Playgroud)
[CXX1405] 使用 /Users/mac/Desktop/Consumer-Android/ime/dictionaries/jnidictionaryv2/Android.mk 进行 ndkBuild 构建时出错:构建命令失败。使用参数 …
我承认这个问题的答案可能是“一些非常具体的魔法”,但我对在这里观察到的情况感到有点震惊。我想知道是否有人了解这些类型的优化是如何工作的。我发现编译器的设计非常有趣,我真的无法想象它是如何工作的。我确信答案就在 clang 源代码中的某个地方,但我什至不知道该在哪里查找。
我是大学课程的助教,最近有人要求我帮助解决一个简单的家庭作业问题。这让我走上了一条有趣的道路......
问题很简单:在 x86_64 汇编中,编写一个给定(正)整数 n 返回的函数1^2 + 2^2 + 3^2 + ... + n^2
。
我决定尝试一下,在帮助他们在 x86_64 汇编中编写此代码后,我(拥有一台 M1 macbook)决定看看是否可以在 arm64 汇编中创建一个不错的解决方案。我想出了一个相对简单直接的解决方案:
_sum_squares:
mov x1, x0 ; Do multiplication from x1
mov x0, xzr ; Clear x0
Lloop:
; x0 <-- (x1 * x1) + x0
madd x0, x1, x1, x0
; Loop until x1 == 0
subs x1, x1, #1
bne Lloop
ret
Run Code Online (Sandbox Code Playgroud)
(我希望有某种很好的方法可以--x1 == 0
在一条指令中进行分支,但我想不出任何方法)
注意:任何基础数论课程中都有一个简单的公式,即[n(n + 1)(2n + 1)] / …
Xcode 10.1提到对arm64e的支持(预览版).任何人都对arm64e有任何想法.arm64和arm64e之间有任何区别.
我搜索了arm64e.但是找不到合适的解释.
我在NSLog/NSAssert等调用中有相当数量的字符串格式说明符,它们分别使用%d
和%u
使用NSInteger (= int on 32bit)
和NSUInteger (= unsigned int on 32bit)
类型.
将应用程序转换为64位时,会发出警告(当然),正如%ld %lu
现在成为的类型long
和unsigned long
类型所预期的那样.
简单地转换格式说明符当然会在32位构建中引入反向警告.
因此,我认为唯一可以免于警告的解决方案是使用64位说明符,并在34位值的类型中转换为34位值,并在32位构建中给出警告.
但我想知道是否有专门针对NSInteger
和NSUInteger
类型的格式说明符可以在没有强制转换的情况下在两种架构上工作?
我尝试通过Application Loader上传文件.但是我从iTunes商店收到了邮件.
缺少64位支持 - 从2015年2月1日开始,提交到App Store的新iOS应用必须包含64位支持,并使用iOS 8 SDK构建.从2015年6月1日开始,应用更新也需要遵循相同的要求.要在项目中启用64位,我们建议使用"标准体系结构"的默认Xcode构建设置来构建包含32位和64位代码的单个二进制文件.
但是我已经在Xcode中添加了arm64,如下图所示.
为什么上传到iTunes连接时发生了缺失的64位支持?
我错过了什么吗?
Dart SDK 正式支持 ARM64,截至目前,2.14.2是支持 ARM64 的最新(稳定)Dart SDK。虽然它与我的 Flutter 设置中捆绑的版本相同,但它似乎在 Intel 架构上运行(活动监视器显示在 Intel 上运行的 dart 进程)。
我手动尝试替换我的 flutter 安装上的 dart SDK,而是替换为从dart.dev archiveflutter-directory/bin/cache/dart-sdk/
下载的针对 ARM64 的 Dart SDK 的 zip 文件的内容。但是尝试在 Android 模拟器(在 ARM64 上运行并且正在我的旧 Flutter 设置上运行)上运行应用程序时,会抛出以下错误:
Launching lib/main.dart on sdk gphone64 arm64 in debug mode...
lib/main.dart:1
Snapshot not compatible with the current VM configuration: the snapshot requires 'release no-code_comments
no-dwarf_stack_traces_mode lazy_async_stacks lazy_dispatchers
use_bare_instructions no-dedup_instructions
no-"asserts" "use_field_guards" "use_osr" x64-sysv no-null-safety' but the VM has 'release no-code_comments no-
dwarf_stack_traces_mode …
Run Code Online (Sandbox Code Playgroud)