2013-11-01 36 views
1

我創建了一個HTML5 Web應用程序,我試圖在Web視圖中打包並提交給Mac App Store。在Xcode 5.0.1中創建一個OS X Cocoa App Web視圖

我已經做了以下內容:

1)打開的Xcode 5.0.1和選擇「創建一個新的Xcode項目」

2)在「OS X」我選擇「應用程序」,然後選擇我「Cocoa應用程序」,然後「下一步」

3)我進入了「產品名稱」和「公司標識符」,然後選擇「下一步」(我將所有其他設置不變),然後點擊「創建」

4 )在「常規」>「部署I nfo「>」部署目標「我選擇了10.6 - 因爲我希望應用程序與支持Mac App Store的所有OS X版本兼容

5)我點擊」MainMenu.xib「並選擇」Window - My應用」

6)從‘對象庫’我吸毒了‘Web視圖’對象到我的窗口,並使其填滿窗口大小

7)我救了我的項目,並單擊上的播放按鈕Xcode的左上角

該應用試圖打開但凍結。我沒有得到在Xcode中的錯誤,但它確實開啓「main.m文件」,並強調「迴歸NSApplicationMain(ARGC,ARGV);」綠色,並說「主題1:信號SIGABRT」

我希望有人可以澄清爲什麼這不起作用?併爲我提供鏈接網頁視圖對象的最後一步?我搜索了Google,找到了適用於iOS的教程,還有一些適用於OS X的教程,但適用於不同版本的Xcode。

回答

1

幾件事情:

在你的廈門國際銀行,選擇「文件檢查器」,並確保您的廈門國際銀行部署的應用程式版本部署版本匹配。如果您不這樣做,那麼在較早的部署版本上運行應用程序時會遇到問題。

爲了您的崩潰,如果你在Xcode的調試控制檯看,你可能看到的東西,看起來像這樣:

2013-10-31 23:07:10.654 Product[19035:303] *** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (WebView) 
2013-10-31 23:07:10.654 Product[19035:303] (
    0 CoreFoundation      0x00007fff8eeab41c __exceptionPreprocess + 172 
    1 libobjc.A.dylib      0x00007fff97daee75 objc_exception_throw + 43 
    2 CoreFoundation      0x00007fff8eeab2cc +[NSException raise:format:] + 204 
    3 Foundation       0x00007fff96b83d69 _decodeObjectBinary + 2349 
    4 Foundation       0x00007fff96b84f2f -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:] + 1774 
    5 Foundation       0x00007fff96b8512b -[NSArray(NSArray) initWithCoder:] + 202 
    6 Foundation       0x00007fff96b83e22 _decodeObjectBinary + 2534 
    7 Foundation       0x00007fff96b832dd _decodeObject + 288 
    8 AppKit        0x00007fff946985bc -[NSView initWithCoder:] + 1949 
    9 Foundation       0x00007fff96b83e22 _decodeObjectBinary + 2534 
    10 Foundation       0x00007fff96b832dd _decodeObject + 288 
    11 AppKit        0x00007fff9469e458 -[NSWindowTemplate initWithCoder:] + 1043 
    12 Foundation       0x00007fff96b83e22 _decodeObjectBinary + 2534 
    13 Foundation       0x00007fff96b84f2f -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:] + 1774 
    14 Foundation       0x00007fff96b84567 -[NSSet(NSSet) initWithCoder:] + 203 
    15 Foundation       0x00007fff96b83e22 _decodeObjectBinary + 2534 
    16 Foundation       0x00007fff96b832dd _decodeObject + 288 
    17 AppKit        0x00007fff94670780 -[NSIBObjectData initWithCoder:] + 155 
    18 Foundation       0x00007fff96b83e22 _decodeObjectBinary + 2534 
    19 Foundation       0x00007fff96b832dd _decodeObject + 288 
    20 AppKit        0x00007fff9467059f loadNib + 232 
    21 AppKit        0x00007fff9466fb9c +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:] + 288 
    22 AppKit        0x00007fff9466f98c -[NSBundle(NSNibLoading) loadNibNamed:owner:topLevelObjects:] + 197 
    23 AppKit        0x00007fff9466f77b +[NSBundle(NSNibLoading) loadNibNamed:owner:] + 357 
    24 AppKit        0x00007fff9466b617 NSApplicationMain + 448 
    25 Product        0x00000001000012c2 main + 34 
    26 Product        0x0000000100001294 start + 52 
    27 ???         0x0000000000000003 0x0 + 3 
) 

在這種情況下,這是因爲應用程序有沒有想法WebView是什麼時候裝筆尖。你要解決這個問題,你需要鏈接到WebKit框架。

返回到您的目標設置並選擇「構建階段」。展開「與庫鏈接二進制文件」並單擊「+」。搜索Mac WebKit框架並添加它。該應用程序現在應該能夠解開存檔中的WebView

Location of linked libraries for a target

+0

此外,以幫助避免使用對老年人部署目標的新API(從而導致崩潰),看看http://www.deploymateapp.com – BergQuester

+0

完全忘了添加Webkit.framework說修正了第一個問題。任何想法如何鏈接的WebView? – user1822824

+0

我認爲你的意思是你如何將'WebView'連接到你的代碼。您可以像使用任何[IBOutlet](https://developer.apple)那樣執行此操作。COM /庫/ IOS /食譜/ xcode_help-interface_builder /文章-connections_bindings/CreatingOutlet.html#// apple_ref/DOC/UID/TP40009971-CH15)。 (該文章適用於iOS,但Mac OS的過程相同。 – BergQuester