仅在调试模式下为设备编译应用程序时遇到问题。它将在发布模式下工作。我正在链接每个程序集。
error MT3001: Could not AOT the assembly '/Users/Paul/Git/MedXChange.iOS/Src/MedXChange.iOS/bin/iPhone/Debug/MedXVue.app/ServiceStack.Text.MonoTouch.dll'
at MTouch.GetObjectFileForAssembly (System.String assemblyName, Abi abi) [0x00000] in <filename unknown>:0
at MTouch+<CompileAssemblies>c__AnonStorey11.<>m__1C (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] in <filename unknown>:0
at System.Threading.Tasks.Task.ThreadStart () [0x00000] in <filename unknown>:0
我怀疑在尝试 AOT 编译程序集时可以在这里找到问题。
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -miphoneos-version-min=5.0 -arch armv7s -std=c99 -I/Developer/MonoTouch/SDKs/MonoTouch.iphoneos.sdk/usr/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -x assembler-with-cpp -c /var/folders/yn/cx1bv3414z938rqkk72fyngw0000gn/T/tmpe7f19b4.tmp/Noodle.iOS.dll.armv7s.s -o /var/folders/yn/cx1bv3414z938rqkk72fyngw0000gn/T/tmpe7f19b4.tmp/Noodle.iOS.dll.armv7s.o
MONO_PATH=/Users/Paul/Git/MedXChange.iOS/Src/MedXChange.iOS/bin/iPhone/Debug/MedXVue.app /Developer/MonoTouch/usr/bin/arm-darwin-mono --debug --aot=mtriple=armv7-darwin,full,static,asmonly,direct-icalls,soft-debug,no-direct-calls,iphone-abi,outfile=/var/folders/yn/cx1bv3414z938rqkk72fyngw0000gn/T/tmpe7f19b4.tmp/ServiceStack.Text.MonoTouch.dll.armv7.s "/Users/Paul/Git/MedXChange.iOS/Src/MedXChange.iOS/bin/iPhone/Debug/MedXVue.app/ServiceStack.Text.MonoTouch.dll"
Mono Ahead of Time compiler - compiling assembly /Users/Paul/Git/MedXChange.iOS/Src/MedXChange.iOS/bin/iPhone/Debug/MedXVue.app/ServiceStack.Text.MonoTouch.dll
Code: 15446124 Info: 420334 Ex Info: 3554193 Unwind Info: 5197 Class Info: 2808 PLT: 13884 GOT Info: 805930 GOT: 224904 Offsets: 177903
Output file: '/var/folders/yn/cx1bv3414z938rqkk72fyngw0000gn/T/tmpe7f19b4.tmp/ServiceStack.Text.MonoTouch.dll.armv7.s'.
Linking symbol: '_mono_aot_module_ServiceStack_Text_MonoTouch_info'.
Compiled 24658 out of 24658 methods (100%)
Methods without GOT slots: 0 (0%)
Direct calls: 0 (0%)
JIT time: 4185 ms, Generation time: 7613 ms, Assembly+Link time: 3 ms.
这是在发布模式下构建成功时 ServiceStack.Text.MonoTouch 程序集的 AOT 编译。
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -miphoneos-version-min=5.0 -arch armv7 -std=c99 -I/Developer/MonoTouch/SDKs/MonoTouch.iphoneos.sdk/usr/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -x assembler-with-cpp -c /var/folders/yn/cx1bv3414z938rqkk72fyngw0000gn/T/tmp47cefef2.tmp/System.Core.dll.armv7.s -o /var/folders/yn/cx1bv3414z938rqkk72fyngw0000gn/T/tmp47cefef2.tmp/System.Core.dll.armv7.o
MONO_PATH=/Users/Paul/Git/MedXChange.iOS/Src/MedXChange.iOS/bin/iPhone/Release/MedXVue.app /Developer/MonoTouch/usr/bin/arm-darwin-mono --aot=mtriple=armv7-darwin,full,static,asmonly,direct-icalls,nodebug,outfile=/var/folders/yn/cx1bv3414z938rqkk72fyngw0000gn/T/tmp47cefef2.tmp/ServiceStack.Text.MonoTouch.dll.armv7.s "/Users/Paul/Git/MedXChange.iOS/Src/MedXChange.iOS/bin/iPhone/Release/MedXVue.app/ServiceStack.Text.MonoTouch.dll"
Mono Ahead of Time compiler - compiling assembly /Users/Paul/Git/MedXChange.iOS/Src/MedXChange.iOS/bin/iPhone/Release/MedXVue.app/ServiceStack.Text.MonoTouch.dll
Code: 5584144 Info: 301083 Ex Info: 111005 Unwind Info: 7670 Class Info: 2808 PLT: 11634 GOT Info: 709474 GOT: 117328 Offsets: 128308
Output file: '/var/folders/yn/cx1bv3414z938rqkk72fyngw0000gn/T/tmp47cefef2.tmp/ServiceStack.Text.MonoTouch.dll.armv7.s'.
Linking symbol: '_mono_aot_module_ServiceStack_Text_MonoTouch_info'.
Compiled 24367 out of 24367 methods (100%)
Methods without GOT slots: 11790 (48%)
Direct calls: 2466 (16%)
JIT time: 3470 ms, Generation time: 2578 ms, Assembly+Link time: 5 ms.
唯一看起来不同的是“直接调用”和“没有 GOT 插槽的方法”。请注意,我没有更改任何代码,只是来回更改配置、构建和清理。