2014-11-22 128 views
-1

因此,我一直在開發一個應用程序,通過uiwebview加載所有內容,並使用用戶的標籤欄和導航欄來遍歷應用程序。最近我將應用程序提交到應用程序商店,並被拒絕並提供以下信息。UIWebview從未呈現和應用程序被拒絕

「3.2 應用與佔位符文本將被拒絕

我們發現您的應用和/或它的元數據似乎並不包括最後的內容,這是不符合在App Store審查指南。

具體而言,您的應用程序不包含內容,並且沒有明顯的登錄方式。

請參閱附件截圖以獲取更多信息。

screenshot

從形象,似乎在網絡視圖從未走近渲染(底部標籤欄始終是內容載入前深灰色)。提供的每個圖像都是這樣的。當我進一步詢問時,他們向我保證,他們正在使用互聯網連接以及蜂窩數據測試應用程序。

我的應用程序安裝在我的設備和朋友沒有改變任何目標c代碼,它運行良好。我有幾個用戶在android的一面,所以如果加載web視圖,應用上會有很多內容。

Web視圖加載在viewDidLoad(){}方法中。我不知道要改變什麼,所以如果有人有任何建議,我會全神貫注。我是否需要以編程方式檢查Web視圖不呈現?如果是這樣,我該怎麼辦呢?

- (void)viewDidLoad 
{ 
    webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,self.view.frame.size.height)]; 


[self.view addSubview:webView]; 


webView.scalesPageToFit = true; 
NSURL *url = [NSURL URLWithString:@"http://example.com/finnaRoot/index.php"]; 
NSURLRequest *requestURL = [NSURLRequest requestWithURL:url]; 
[webView loadRequest:requestURL]; 
webView.scrollView.showsVerticalScrollIndicator = false; 
[super viewDidLoad]; 
// Do any additional setup after loading the view, typically from a nib. 
webView.delegate = self; 
self.tabBarController.delegate = self; 
self.webView.scrollView.delegate = self; 

}

我的.h文件有:

#import <UIKit/UIKit.h> 

@interface FirstViewController : UIViewController <UITabBarControllerDelegate, UIScrollViewDelegate, UIWebViewDelegate> 

@property (nonatomic, strong) IBOutlet UIWebView *webView; 

@end 

和我的.m與

@synthesize webView; 
+0

你能否包含代碼?Web視圖是如何聲明,創建和加載的?你在設備上是否有相同的build_(例如發佈版本,而不是調試版本) – jrturton 2014-11-22 21:08:18

+0

我剛剛添加了代碼。我的印象是發佈版本無法安裝,除非通過應用商店。情況並非如此嗎? – Voltron 2014-11-22 21:18:24

+0

您可以在設備上安裝發佈版本,可以通過從存檔安裝或更改「運行」操作的構建配置。 – jrturton 2014-11-22 22:04:58

回答

1

開始這是一場賭博,因爲你不包括信息在編輯中,但:

您r webview變量可能會被聲明爲弱。如果沒有其他參考文獻有很強的參考意義,那麼弱變量將被淘汰。在上面顯示的代碼中,除非將其作爲子視圖添加,否則其他任何內容都不具有對Web視圖的強引用。

發佈和調試版本之間在實際發生這種情況時存在細微的差異。發佈版本的速度會更快。

可能發生的情況是,在App Store構建中,Web視圖立即被銷燬,您甚至不會將其添加到視圖中,因此不會顯示任何內容。

如果你想保留它作爲一個弱伊娃,首先創建一個局部變量與Web視圖,只有將它分配給伊娃,一旦你已經將其添加爲子視圖。

但主要教訓總是,總是使用發佈版本來執行UAT。不要只連接設備來構建和運行。

+0

我認爲你所要求的信息現在在上面。我將努力安裝發佈版本,並查看是否顯示任何內容,並遵循上述說明。謝謝! – Voltron 2014-11-22 23:06:09

+0

好吧,它不弱,但你沒有正確使用該屬性。刪除'@ synthesize'語句並始終使用'self.webview',否則您將繞過屬性的內存管理。 – jrturton 2014-11-23 02:08:01

+0

我認爲上面的變化可能已經奏效。感謝有關發佈版本與簡單設備測試的信息,我將不得不深入探討這個主題! – Voltron 2014-11-23 06:52:14

相關問題