我正在努力让 TestFlight 与我的 MonoTouch 应用程序(Monotouch 5、IOS5)一起工作,并且没有找到任何用于 TestFlight 的 MonoTouch 文档。
这是我到目前为止所尝试的。
从https://github.com/mono/monotouch-bindings/tree/master/TestFlight下载了 TestFlight 绑定——在添加这个作为参考之后,似乎 TestFlight 方法实际上根本没有公开,所以我寻找了另一组的绑定。
从https://github.com/ayoung/monotouch-testflight下载了 ayoung 的 TestFlight 绑定。使用 Make 构建 monotouch-testflight.dll,将其复制到项目中并添加到 References 中——这次 TestFlight 方法都是可见的。
将 libTestFlight.a 添加到我的 MonoTouch 项目的 Lib 文件夹中,并将 BuildAction 设置为 Nothing。(我那里也有 RedLaser)。
Per ayoung,我启用了 LLVM 编译器(使用 ARMv7);ayoung 说这是必需的。在 Project Options -> iPhone Build 中,我的其他 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 (?) 但我不 AFAIK,而且我不知道在哪里可以找到这样的东西。
在 Main.cs 我添加
使用 TestFlightSdk;
在 FinishedLaunching 我添加了
TestFlight.TakeOff( "(downloaded team token is here)" );
编译和安装没有错误(Release|iPhone)。
当我现在在设备上运行该应用程序时,它会立即退出,而我无法发现任何诊断信息。
如果编译为 Debug|iPhone,该应用程序也会立即退出。但是,在这种情况下,如果我不顾 ayoung 的限制而关闭 LLVM,那么在应用程序输出中我会看到以下内容:
TestFlight:已启动会话 TestFlight:已安装崩溃处理程序 已启动线程:已启动线程:TestFlight:已识别团队令牌 TestFlight:会话结束 TestFlight:当前已禁用与 TestFlight 的通信,请在前面的日志中查看详细信息
这可能是因为我尚未将应用程序的 .ipa 文件上传到 TestFlight?(但是,在这种情况下,该应用程序确实会启动。)
- 我正在尝试找出如何生成 .ipa 文件。TestFlight 文档显示了如何从 XCode 执行此操作,但我的应用程序是纯代码的,没有 .xib,所以该选项似乎已失效?TestFlight 文档还展示了如何从 .app 文件生成 .ipa。我的问题是,我如何着手构建设备的 .app 文件?
对于这些问题的任何帮助将不胜感激。