越来越TestFlight问题MonoTouch的应用工作 [英] Problems getting TestFlight to work with Monotouch app

查看:227
本文介绍了越来越TestFlight问题MonoTouch的应用工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在努力获得TestFlight我MonoTouch的应用程序(MonoTouch的5,IOS5)工作,并没有发现任何TestFlight MonoTouch的文档。

下面是我试过至今。


  1. 下载TestFlight的绑定 https://github.com/mono / MonoTouch的绑定/树/主/ TestFlight - 添加此作为参考后,它似乎是在TestFlight方法实际上并不暴露,所以我找了另一套绑定


  2. https://github.com/ayoung/monotouch-testflight <

    下载ayoung的TestFlight绑定/ A>。内置的MonoTouch-testflight.dll与制作,它复制到项目,并添加到参考 - 这一次的TestFlight方法均可见


  3. 添加libTestFlight.a在我与BuildAction的MonoTouch的项目lib文件夹设置为Nothing。 (我也有在的RedLaser那里)。


  4. 每ayoung,我启用了LLVM编译器(带的ARMv7); ayoung指出它是必需的。在项目选项 - > iPhone建立我额外的mTouch参数是:

    -cxx -nosymbolstrip -nostrip -gcc_flags-lgcc_eh -framework SystemConfiguration -framework CFNetwork的-framework corevideo的-framework CoreMedia -framework AVFoundation -framework OpenGLES -framework安全-L $ {} PROJECTDIR / lib目录-ltestflight -RedLaserSDK -ObjC


请注意:该应用程序的工作确定的RedLaser与被TestFlight添加到项目之前

下面-lgcc_eh是按ayoung - 我一直没能找出它是什么或它是什么。也许我应该有一个gcc_eh.dll(?),但我不据我所知,我不知道我在哪里能找到这样的事情。


  1. 在Main.cs我添加

    使用TestFlightSdk;


和在FinishedLaunching我添加

  TestFlight.TakeOff((下载球队令牌是这里));


  1. 编译和安装,并没有错误(发布| iPhone)。


  2. 当我现在在设备上运行的应用程序,它会立即与无诊断,我能发现退出。


  3. iPhone |
  4. 应用程序也立即如果编译调试退出。在这种情况下,但是,如果我关掉LLVM尽管ayoung的责难然后应用程序输出我看到以下内容:

    TestFlight:启动会话
    TestFlight:崩溃处理程序安装
    主题开始:
    主题开始:
    TestFlight:团队令牌是公认
    TestFlight:会议结束
    TestFlight:与TestFlight通信目前已停用,早前在日志检查细节


这可能是因为我还没有上传应用程序的.ipa文件到TestFlight? (该应用程序不会在这种情况下推出不过。)


  1. 我试图找出如何产生.ipa文件。 TestFlight文档演示如何从X code执行这一点,但我的应用程序是code-唯一没有的.xib,这样的选择似乎是了呢? TestFlight文档还展示了如何生成.app文件一个的.ipa。在这里,我的问题是,我怎么躺在我的手对设备构建.app文件?

这些问题的任何帮助将这么多的AP preciated。


解决方案

-lgcc_eh 是需要包括异常处理GCC库,如果你用C ++库的链接,往往是必需的。

您也有很多的 -framework 看上去并不需要的选项(MonoTouch的已经增加了它们) - 的但不会是你的问题的原因的。如果您想了解什么 mTouch触摸使用/提供在编译的时候,那么你可以添加-v -v -v到项目选项额外的触控参数(并期待在构建输出)。

对于主要的问题,我认为这是有关事实TestFlight处理程序不兼容(presently)与MonoTouch的(5.0)。 MonoTouch的异常处理已经提供了它自己的崩溃处理程序(例如,用于的NullReferenceException ),并加入其他处理程序需谨慎进行(何时以及如何做到这一点是非常重要的)。这可能是为什么的电流的MonoTouch的中,绑定绑定不包含所有功能的te​​stflight可用。

我建议你在bugzilla.xamarin.com打开一个bug报告,你会在进度获取电子邮件更新(并知道什么时候该功能将变得可用)。

P.S。试图打破你的问题分成几个(堆栈溢出)的问题,你就更有可能因为不是每个人都知道所有的答案,每一个问题,你可能必须接受的答案是这样: - )

Am struggling to get TestFlight working with my MonoTouch app (Monotouch 5, IOS5) and have not found any MonoTouch documentation for TestFlight.

Here is what I tried so far.

  1. Downloaded TestFlight bindings from https://github.com/mono/monotouch-bindings/tree/master/TestFlight -- after adding this as a reference it seemed that the TestFlight methods were actually not exposed at all, so I looked for another set of bindings.

  2. Downloaded ayoung's TestFlight bindings from https://github.com/ayoung/monotouch-testflight. Built monotouch-testflight.dll with Make, copied it to the project and added to References -- this time the TestFlight methods were all visible.

  3. Added libTestFlight.a to the Lib folder in my MonoTouch project with BuildAction set to Nothing. (I also have RedLaser in there).

  4. Per ayoung, I enabled LLVM compiler (with ARMv7); ayoung states it is required. In Project Options -> iPhone Build my additional mtouch arguments are:

    -cxx -nosymbolstrip -nostrip -gcc_flags "-lgcc_eh -framework SystemConfiguration -framework CFNetwork -framework CoreVideo -framework CoreMedia -framework AVFoundation -framework OpenGLES -framework Security -L${ProjectDir}/Lib -ltestflight -RedLaserSDK -ObjC"

Note: The app worked ok with RedLaser before TestFlight was added to the project.

Here -lgcc_eh is as per ayoung -- I have not been able to find out what it is or what it is for. Perhaps I should have a gcc_eh.dll (?) but I don't AFAIK, and I don't know where I could find such a thing.

  1. In Main.cs I added

    using TestFlightSdk;

and In FinishedLaunching I added

TestFlight.TakeOff( "(downloaded team token is here)" );

  1. Compiled and installed with no error (Release|iPhone).

  2. When I now run the app on the device, it exits immediately with no diagnostic that I can discover.

  3. The app also exits immediately if compiled to Debug|iPhone. In this case, however, if I turn off LLVM despite ayoung's strictures then in Application Output I see the following:

    TestFlight: Started Session TestFlight: Crash Handlers are installed Thread started: Thread started: TestFlight: Team Token is recognized TestFlight: End of Session TestFlight: Communication with TestFlight is currently disabled, check earlier in your log for details

This might be because I have not yet uploaded the app's .ipa file to TestFlight?? (The app does launch in this case however.)

  1. I am trying to find out how to generate a .ipa file. TestFlight documentation shows how to do this from XCode but my app is code-only with no .xib so that option seems to be out? TestFlight documentation also shows how to generate a .ipa from the .app file. Here my problem is, how do I lay my hands on the .app file for a device build?

Any help with these issues would be so much appreciated.

解决方案

-lgcc_eh is needed to include the Exception Handling GCC library, which is often required if you link with C++ libraries.

You also have a lot of -framework options that do not look required (MonoTouch already adds them) - but that won't be the cause of your problem. If you're curious about what mtouch use/provide at compilation time then you can add "-v -v -v" to the "additional touch arguments" in your project options (and look at the build output).

As for the main issue I think it's related to the fact the TestFlight handlers are not compatible (presently) with MonoTouch (5.0). MonoTouch exception handling already provides it's own crash handlers (e.g. for NullReferenceException) and adding other handlers needs to be done with care (how and when to do it is very important). This is likely why the current bindings in monotouch-bindings don't include every feature available in testflight.

I suggest you to open a bug report at bugzilla.xamarin.com and you'll get email updates on the progress (and know exactly when the feature will become available).

p.s. try to break your issues into several (stack overflow) questions, you're more likely to receive answers that way since not everyone knows all the answers to every question you might have :-)

这篇关于越来越TestFlight问题MonoTouch的应用工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆