2010-10-29 56 views
2

只是我很好奇。 我已經爲Objective-C類(NSObject,NSDictionary,NSString ...)創建了許多方便的類別,只要非常有趣的子類在iPhone/iPad編程中使很多流行任務變得簡單因爲只放置一行代碼或啓動一個方法。以安全的方式分享代碼Objective-C

我想與其他人分享這個代碼,但問題是,只要我花了幾個小時來創建它,我不希望他們看到真實的代碼。未來的Perheps我也想賣這段代碼。

所以我們假設該文件被稱爲擴展名,並分成兩個文件: Extensions.h(其中大約有100個標頭)和Extensions.m - 它們的實現。 我想以Extensions.h 100%公開的方式發佈這個類 - 開發者看到我已經放入該文件的代碼,所以他知道如何使用這些擴展,但Extensions.m不應該是可見的一個代碼,但作爲一個庫或類似的東西。

我也想在自定義項目中儘可能地實現上面的實現。最好的方法就是在頭文件中拖放和#import Extensions.h。

我期待聽到您的建議。 Registers Chris

回答

4

Flurry做到了這一點...他們發佈一個帶有代碼的頭文件和一個.a文件.h文件。所以看起來你可以編譯一個用於分發的.a文件。

+0

嗯。我剛剛使用Library/Cocoa Touch靜態庫模板創建了我的擴展包。除了已經存在的Foundation之外,還添加了這兩個文件並導入了CoreGraphics和UIKit框架。它生成了libExtensions.a文件。我怎樣才能在不同的項目中使用它? 我應該在哪裏或如何導入?如果我在我的項目上按get info,我會在鏈接庫中看到libExtensions.a,但直接依賴項加/減按鈕被禁用。 – 2010-10-29 15:32:54

+0

對於Flurry,您只需將.h和.a文件的父目錄拖放到您的項目中,然後選擇「Recursively Add to Project」...然後在將使用您需要導入的擴展名的文件中。 h文件。 – 2010-10-29 16:20:32

+0

嗯,我不明白。我有兩個項目 - 我想使用擴展名的「測試項目」,以及我正在構建庫的擴展項目。在擴展中,我只有兩個文件 - Extension.h和Extension.m,它們構建一個libExtensions.a文件。那麼我必須將Extension.h和libExtensions.a拖到「測試項目」中?我這樣做,它告訴我NSString無法響應md5方法:(。和順便說一句:我認爲如果我必須使用設備或模擬器SDK構建它? – 2010-10-29 16:57:33