您的应用程序在启动时无限期加载
your app loads indefinitely upon launch
我有一个在以下设备上运行良好的应用程序。
iPhone 4 秒 (iOS 7.1)
iPhone 5 (iOS 9.1)
iPhone 6 (iOS 9.1)
但是应用程序拒绝说下面的拒绝。
We discovered one or more bugs in your app when reviewed on iPad and iPhone running iOS 9.1 on both Wi-Fi and cellular networks.
- App did not load its contents, did not load beyond the flash screen.
然而,当我 运行 从我这边开始时,它工作正常,但仅在 Apple 端有问题。我不知道 app 运行 怎么会在我这边,而它只在 Apple 端出现问题?我尝试使用 iOS 8.4 上传,但苹果仍然回复我们仍然无法超越启动画面。
有没有人遇到过这样的问题,或者有人指出我哪里错了吗?
我上传了 6 个版本,但都被拒绝了,原因相同。
注意:同一个应用程序之前运行良好(在 iOS 9.1 版本之前),但是当我现在尝试上传时,出现此错误。
对我来说最大的挑战是,我不知道是什么问题,但我需要解决这个问题
编辑 1
我有第一个屏幕作为语言屏幕,其中有图像动画。
animationImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 1080, 1920)];
animationImageView.hidden = NO;
animationImageView.animationImages = mArray;
animationImageView.animationDuration = 1.5;
animationImageView.animationRepeatCount = 1;
[self.view addSubview:animationImageView];
[animationImageView startAnimating];
您是使用 Xcode 中的 "Run" 进行测试,还是使用 Test Flight? Test Flight 让您在与 Apple 获取应用程序相同的环境中获取应用程序,而直接从 Xcode 运行 可能会产生不同的结果(不同的推送通知环境,可能不同的编译选项...)。
另外,您是否有权访问该应用查询的服务器的日志?如果是这样,您是否检查过它们以了解当 Apple 尝试使用该应用程序时会发生什么情况?查询格式是否正确?是否有错误(状态代码不同于 200,或在错误日志中)?
您的应用执行什么样的请求?它是常规的 http(s) 请求吗?还是您使用的协议可能会以某种方式被阻止?
我想查询的服务器完全可以从 Internet 访问(即您没有放置只能在本地网络上访问的服务器)?
你应该在你的代码中添加错误处理,来测试请求的结果并显示相关信息,这样如果他们在测试时出现错误,至少他们可以报告错误是什么。
在testflight上测试后,发现了一个问题。
如果我在点击应用图标后打开应用,它运行正常。
当我从 testflight
单击打开按钮时出现问题
当我点击 Open 按钮时,AppDelegate 中的 launchOptions
不是 nil,所以 push 中的代码出错了,内部崩溃了,但应用程序仍然挂在启动画面上(不是知道为什么 )
下面是我在 AppDelegate didFinishLaunchingWithOptions
中打印 launchOptions
时得到的结果
launchOptions==={
UIApplicationLaunchOptionsSourceApplicationKey = "com.apple.TestFlight";
}
所以我将代码更改为以下,一切正常。
NSLog(@"launchOptions===%@", launchOptions);
if (launchOptions!=nil) {
NSMutableDictionary *userInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
NSLog(@"userInfo===%@", userInfo);
NSLog(@"userInfo===%d", userInfo.count);
if (userInfo.count>=1) {
// here is my code on what to do if i click on push
}
}
如果有人不清楚请告诉我
下面说的很崩溃
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSPlaceholderString initWithString:]: nil argument'
所以我觉得问题出在下面一行。
NSString *badge =[[NSString alloc] initWithFormat:@"%@", [apsInfo objectForKey:@"badge"]];
但在满足上述条件后,一切正常。
我有一个在以下设备上运行良好的应用程序。
iPhone 4 秒 (iOS 7.1) iPhone 5 (iOS 9.1) iPhone 6 (iOS 9.1)
但是应用程序拒绝说下面的拒绝。
We discovered one or more bugs in your app when reviewed on iPad and iPhone running iOS 9.1 on both Wi-Fi and cellular networks.
- App did not load its contents, did not load beyond the flash screen.
然而,当我 运行 从我这边开始时,它工作正常,但仅在 Apple 端有问题。我不知道 app 运行 怎么会在我这边,而它只在 Apple 端出现问题?我尝试使用 iOS 8.4 上传,但苹果仍然回复我们仍然无法超越启动画面。
有没有人遇到过这样的问题,或者有人指出我哪里错了吗?
我上传了 6 个版本,但都被拒绝了,原因相同。
注意:同一个应用程序之前运行良好(在 iOS 9.1 版本之前),但是当我现在尝试上传时,出现此错误。
对我来说最大的挑战是,我不知道是什么问题,但我需要解决这个问题
编辑 1
我有第一个屏幕作为语言屏幕,其中有图像动画。
animationImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 1080, 1920)];
animationImageView.hidden = NO;
animationImageView.animationImages = mArray;
animationImageView.animationDuration = 1.5;
animationImageView.animationRepeatCount = 1;
[self.view addSubview:animationImageView];
[animationImageView startAnimating];
您是使用 Xcode 中的 "Run" 进行测试,还是使用 Test Flight? Test Flight 让您在与 Apple 获取应用程序相同的环境中获取应用程序,而直接从 Xcode 运行 可能会产生不同的结果(不同的推送通知环境,可能不同的编译选项...)。
另外,您是否有权访问该应用查询的服务器的日志?如果是这样,您是否检查过它们以了解当 Apple 尝试使用该应用程序时会发生什么情况?查询格式是否正确?是否有错误(状态代码不同于 200,或在错误日志中)?
您的应用执行什么样的请求?它是常规的 http(s) 请求吗?还是您使用的协议可能会以某种方式被阻止?
我想查询的服务器完全可以从 Internet 访问(即您没有放置只能在本地网络上访问的服务器)?
你应该在你的代码中添加错误处理,来测试请求的结果并显示相关信息,这样如果他们在测试时出现错误,至少他们可以报告错误是什么。
在testflight上测试后,发现了一个问题。
如果我在点击应用图标后打开应用,它运行正常。
当我从 testflight
单击打开按钮时出现问题当我点击 Open 按钮时,AppDelegate 中的 launchOptions
不是 nil,所以 push 中的代码出错了,内部崩溃了,但应用程序仍然挂在启动画面上(不是知道为什么 )
下面是我在 AppDelegate didFinishLaunchingWithOptions
launchOptions
时得到的结果
launchOptions==={
UIApplicationLaunchOptionsSourceApplicationKey = "com.apple.TestFlight";
}
所以我将代码更改为以下,一切正常。
NSLog(@"launchOptions===%@", launchOptions);
if (launchOptions!=nil) {
NSMutableDictionary *userInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
NSLog(@"userInfo===%@", userInfo);
NSLog(@"userInfo===%d", userInfo.count);
if (userInfo.count>=1) {
// here is my code on what to do if i click on push
}
}
如果有人不清楚请告诉我
下面说的很崩溃
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSPlaceholderString initWithString:]: nil argument'
所以我觉得问题出在下面一行。
NSString *badge =[[NSString alloc] initWithFormat:@"%@", [apsInfo objectForKey:@"badge"]];
但在满足上述条件后,一切正常。