iOS 审核被拒原因记录 (TESTFLIGHT 测试闪退)

错误提示

We were unable to review your app as it crashed on launch. We have attached detailed crash logs to help troubleshoot this issue.
Next Steps
To resolve this issue, please revise your too and test it on a device to ensure it will launch without crashing.

找到突破口

测试半天,最后使用TESTFILGHT 预先测试版本。最终发现问题,用TESTFLIGHT打开APP的时候直接闪退.

分析原因

– (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;

当应用程序启动时执行,应用程序启动入口。只在应用程序启动时执行一次。application参数用来获取应用程序的状态、变量等,值得注意的是字典参数:(NSDictionary *)launchOptions,该参数存储程序启动的原因.

  • 若用户直接启动,lauchOptions内无数据;
  • 若由其他应用程序通过openURL:启动,则 UIApplicationLaunchOptionsURLKey 对应的对象为启动URL (NSURL), UIApplicationLaunchOptionsSourceApplicationKey 对应启动的源应用程序的 bundle ID (NSString);
  • 若由本地通知启动,则UIApplicationLaunchOptionsLocalNotificationKey对应的是为启动应用程序的的本地通知对象(UILocalNotification);
  • 若由远程通知启动,则UIApplicationLaunchOptionsRemoteNotificationKey 对应的是启动应用程序的的远程通知信息userInfo(NSDictionary);
  • 其他key还有
    UIApplicationLaunchOptionsAnnotationKey,
    UIApplicationLaunchOptionsLocationKey,
    UIApplicationLaunchOptionsNewsstandDownloadsKey。
    如果要在启动时,做出一些区分,那就需要在下面的代码做处理。 比如:应用可以被某个其它应用调起(作为该应用的子应用),要实现单点登录,那就需要在启动代码的地方做出合理的验证,并跳过登录。
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    NSURL *url = [options objectForKey:UIApplicationLaunchOptionsURLKey];
    if(url){
    }
    NSString *bundleId = [options objectForKey:UIApplicationLaunchOptionsSourceApplicationKey];
    if(bundleId){
    }
    UILocalNotification * localNotify = [options objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
    if(localNotify){
    }
    NSDictionary * userInfo = [options objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
    if(userInfo){
    }
}

原因: 当你用第三方打开APP的时候,应用程序通过OPENURL:启动 didFinishLaunchingWithOptions方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,791评论 25 709
  • 最近打包上线app被拒,信息如下: We were unable to review your app as it...
    差一点不是帅哥阅读 4,895评论 2 3
  • 一、调用系统应用 1、调用app store界面方法 在实际开发中,往往要推荐自己其他应用和推荐自己的收费软件,那...
    丶绅士丿丨丨阅读 4,112评论 0 3
  • 世间所有的相遇都很……神奇。 你不会知道你的一次遇见,会如何改变你的人生。 可能你会混乱,畏惧于打破常规…… 可能...
    手鼓君阅读 1,053评论 1 0