gpt4 book ai didi

iphone - 让 TestFlight 与 Monotouch 应用程序配合使用时出现问题

转载 作者:行者123 更新时间:2023-12-03 20:22:10 24 4
gpt4 key购买 nike

我正在努力让 TestFlight 与我的 MonoTouch 应用程序(Monotouch 5、IOS5)一起使用,并且尚未找到 TestFlight 的任何 MonoTouch 文档。

这是我迄今为止尝试过的。

  1. 已从 https://github.com/mono/monotouch-bindings/tree/master/TestFlight 下载 TestFlight 绑定(bind)-- 添加此作为引用后,似乎 TestFlight 方法实际上根本没有公开,因此我寻找另一组绑定(bind)。

  2. https://github.com/ayoung/monotouch-testflight 下载了 ayoung 的 TestFlight 绑定(bind)。使用 Make 构建 monotouch-testflight.dll,将其复制到项目并添加到引用中 - 这次 TestFlight 方法全部可见。

  3. 将 libTestFlight.a 添加到我的 MonoTouch 项目的 Lib 文件夹中,并将 BuildAction 设置为 Nothing。 (我那里也有 RedLaser)。

  4. 年轻时,我启用了 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 Security -L${ProjectDir}/Lib -ltestflight -RedLaserSDK -ObjC”

注意:在将 TestFlight 添加到项目之前,该应用程序可以与 RedLaser 正常运行。

这里 -lgcc_eh 是按照 ayoung 的说法——我无法找出它是什么或它的用途。也许我应该有一个 gcc_eh.dll (?),但据我所知我没有,而且我不知道在哪里可以找到这样的东西。

  1. 在 Main.cs 中我添加了

    使用TestFlightSdk;

并在 FinishedLaunching 中添加

TestFlight.TakeOff( "(downloaded team token is here)" );
  1. 编译和安装没有错误(Release|iPhone)。

  2. 当我现在在设备上运行应用程序时,它会立即退出,并且没有我发现的任何诊断信息。

  3. 如果编译为 Debug|iPhone,该应用程序也会立即退出。然而,在这种情况下,如果我不顾 ayoung 的限制而关闭 LLVM,那么在应用程序输出中我会看到以下内容:

    TestFlight:已开始 session TestFlight:已安装崩溃处理程序线程开始:线程开始:TestFlight:团队 token 被识别TestFlight: session 结束TestFlight:与 TestFlight 的通信当前已禁用,请先在日志中查看详细信息

这可能是因为我尚未将应用程序的 .ipa 文件上传到 TestFlight? (但是,在这种情况下,该应用程序确实会启动。)

  1. 我正在尝试了解如何生成 .ipa 文件。 TestFlight 文档显示了如何从 XCode 执行此操作,但我的应用程序仅包含代码,没有 .xib,因此该选项似乎已退出? TestFlight 文档还展示了如何从 .app 文件生成 .ipa。我的问题是,如何处理设备构建的 .app 文件?

任何有关这些问题的帮助将不胜感激。

最佳答案

-lgcc_eh 需要包含异常处理 GCC 库,如果与 C++ 库链接,则通常需要该库。

您还有很多看起来不需要的-framework选项(MonoTouch 已经添加了它们) - 但这不会是问题的原因。如果您对 mtouch 在编译时使用/提供什么感到好奇,那么您可以将“-v -v -v”添加到项目选项中的“附加触摸参数”中(并查看构建输出)。

至于主要问题,我认为这与 TestFlight 处理程序(目前)与 MonoTouch (5.0) 不兼容有关。 MonoTouch 异常处理已经提供了它自己的崩溃处理程序(例如 NullReferenceException),并且需要小心添加其他处理程序(如何以及何时执行非常重要)。这可能就是为什么 monotouch-bindings 中的当前绑定(bind)不包括 testflight 中可用的所有功能。

我建议您在 bugzilla.xamarin.com 上打开错误报告,您将收到有关进度的电子邮件更新(并确切知道该功能何时可用)。

附:尝试将您的问题分成几个(堆栈溢出)问题,您更有可能以这种方式收到答案,因为并不是每个人都知道您可能遇到的每个问题的所有答案:-)

关于iphone - 让 TestFlight 与 Monotouch 应用程序配合使用时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7865374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com