我已经花费了无数个小时来解决这个问题,利用谷歌搜索和其他Stack Overflow问题无济于事.
我有一个iPhone/iPad通用应用程序,当目标是armv6时似乎编译得很好.但是,当设备是iPad时,我收到此警告:
warning: building for SDK 'Device - iPhone OS 3.2' requires an armv7 architecture.
奇怪的是,尽管有这样的警告,该应用仍然在iPad上运行良好.但是,在这种情况下,我确实希望以"正确的方式"做事.当我将目标架构切换到armv7时,我得到链接错误:
"___restore_vfp_d8_d15_regs", referenced from:
*redacted*
"___save_vfp_d8_d15_regs", referenced from:
*redacted*
ld: symbol(s) not found
collect2: ld returned 1 exit status
错误的"编辑"部分是对我想要链接的静态库的引用.
这是我从网上的许多建议中尝试过的.这些都是不止一次被提出而没有任何解释,这使我相信没有人完全理解这个问题:
"切勿使用XCode窗口左上角的下拉菜单选择目标.而是将其设置为Base SDK,然后将Base SDK设置为目标配置中的iPhone OS 3.0.将目标设备设置为首选目标( iPad,iPhone OS 3.2在我的情况下.)"
这会产生错误"找不到-lcrt1.3.1.o的库"
"确保GCC没有链接到标准库的错误版本.(您必须确保LIBRARY_SEARCH_PATH中没有错误的路径.)"
我的LIBRARY_SEARCH_PATH已经为空,所以这似乎不相关.
"尝试使用GCC 4.0而不是GCC 4.2进行编译."
我在UIKit头文件中遇到语法错误.错误是"'AT_NAME'令牌之前的语法错误." 该行是"UIKIT_EXTERN @interface UILocalizedIndexedCollation:NSObject".
另一个项目使用相同的目标设置编译得很好,这真的让我质疑我的理智.我可以处理一个损坏的XCode项目吗?
如果有人知道实际发生了什么并有参考或不介意解释它,我会非常感激.
干杯!
我有一个像这样配置的XCode项目:
我的问题:生成的二进制文件(.ipa)中是否有2个可执行文件 - 每个体系结构一个,或者每个体系结构只有一些不同的目标文件,或者是比这更精细的分割?
只是好奇.谢谢.
我导入了RNCryptor,可以在这里找到:https://github.com/rnapier/RNCryptor到我的应用程序中.但是,我在日志中遇到了三个错误.
Undefined symbols for architecture armv7:
"_SecRandomCopyBytes", referenced from:
+[RNCryptor randomDataOfLength:] in RNCryptor.o
"_kSecRandomDefault", referenced from:
+[RNCryptor randomDataOfLength:] in RNCryptor.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
我看到这通常是在导入的类没有包含在目标中时引起的,但是我已经检查了构建阶段,并且所有导入的类都在那里.我不知道造成这种情况的原因,我没有触及任何这些类的代码.我还清理了几次目标.
iPhone 5是第一款采用armv7s处理器的Apple设备.
指令集是否相同?
向后兼容性怎么样?iPhone 5能否运行为armv6和armv7架构编译的应用程序?
我正在将我的应用更新到ios6,我有以下问题
我的系统配置是
参考问题:iOS 6 Mono和向后兼容性
UPDATE
错误是
无法组装ICSharpCode.SharpZipLib.dll(MT3001)
详细输出
/Users/TEST/Desktop/Xcode_4.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -miphoneos-version-min=3.1 -arch armv7 -std=c99 -I/Developer/MonoTouch/SDKs/MonoTouch.iphoneos.sdk/usr/include -isysroot /Users/TEST/Desktop/Xcode_4.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk -c /var/folders/_3/x0_zyy9j0r5_gg94nc3r51zm0000gn/T/tmp371fb2f4.tmp/mscorlib.dll.7.s -o /var/folders/_3/x0_zyy9j0r5_gg94nc3r51zm0000gn/T/tmp371fb2f4.tmp/mscorlib.dll.7.o
error MT3001: Could not AOT the assembly '/Users/TEST/Public/Progetti/AppTest/bin/iPhone/Release/ICSharpCode.SharpZipLib.dll'
at MTouch+<CompileAssemblies>c__AnonStoreyB.<>m__E (System.String s) [0x00000] in <filename unknown>:0
at System.Threading.Tasks.Parallel+<ForEach>c__AnonStorey36`1[System.String].<>m__34 (System.String e, System.Threading.Tasks.ParallelLoopState s, System.Object l) [0x00000] in <filename unknown>:0
at System.Threading.Tasks.Parallel+<ForEach>c__AnonStorey35`2[System.String,System.Object].<>m__32 () [0x00000] in <filename unknown>:0
at System.Threading.Tasks.TaskActionInvoker+ActionInvoke.Invoke (System.Threading.Tasks.Task owner, System.Object state, System.Threading.Tasks.Task context) [0x00000] in <filename unknown>:0
at System.Threading.Tasks.Task.InnerInvoke () [0x00000] …Run Code Online (Sandbox Code Playgroud) 我开发了一个非常简单的应用程序,使用openCV for IOS.它一直有效,直到我决定在其他项目中使用该代码.我收到这个armv7错误,我看不出问题出在哪里(请看,见上图)
我创建了一个我的工作代码的静态lib文件,它有以下架构信息:

比我把它编译成*.a文件并将dyOpenCv.a和DyOpenCV.h文件添加到我的主项目中,该项目具有以下架构信息:

但是当我尝试在头文件(DyOpenCV.h)中使用该方法时,会出现以下错误:

任何想法可能是什么?
我的应用程序在应用程序商店,我已经启用了我的应用程序内的批评.报告崩溃后:
Threads
_________________________________
Thread: Unknown Name (Crashed)
0 libobjc.A.dylib 0x00000001973f7bdc objc_msgSend + 28
1 UIKit 0x000000018b59952c -[UIKeyboardImpl centerFilled] + 88
2 UIKit 0x000000018b90eb00 -[UIKBBackgroundView refreshStyleForKeyplane:inputTraits:] + 300
3 UIKit 0x000000018b599284 -[UIKeyboardLayoutStar updateBackgroundIfNeeded] + 384
4 UIKit 0x000000018b591cc4 -[UIKeyboardLayoutStar setKeyplaneName:] + 2672
5 UIKit 0x000000018b4d2f7c -[UIKeyboardLayoutStar setShift:] + 180
6 UIKit 0x000000018b4d2ca8 -[UIKeyboardImpl notifyShiftState] + 84
7 CoreFoundation 0x0000000186c92a50 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 28
8 CoreFoundation 0x0000000186c8f9dc __CFRunLoopDoObservers + 356
9 CoreFoundation 0x0000000186c8fd24 __CFRunLoopRun + 680
10 CoreFoundation 0x0000000186bbd0a4 CFRunLoopRunSpecific + 392
11 …Run Code Online (Sandbox Code Playgroud) segmentation-fault armv7 objc-message-send crittercism ios8.1
我正在努力找到一个好的G.729A实现(免费或付费)以包含在PJSip中.我找到了一个在CSipSimple中使用但我无法为ARM64编译它,仅用于ARMv7.
我已经要求Vocal和Adaptive Digital报价.
有人参考吗?
最好的祝福
提交应用时出现了一些错误.
知道如何修复此错误:
ERROR ITMS-90092: “This bundle is invalid. Apps that include an arm64 architecture are required to include an armv7 architecture.”
Run Code Online (Sandbox Code Playgroud)
查看Xcode中的有效架构我看到列出了armv7.所以有什么问题?
armv7 ×10
ios ×5
xcode ×4
arm64 ×2
architecture ×1
armv6 ×1
cocoa-touch ×1
crittercism ×1
g729 ×1
ios6 ×1
ios8.1 ×1
ipad ×1
iphone-5 ×1
linker ×1
mono ×1
monodevelop ×1
objective-c ×1
opencv ×1
pjsip ×1
rncryptor ×1
webrtc ×1
xamarin.ios ×1