上次我們說到在蘋果開發(fā)者官網(wǎng)查看MapKit文檔,下面直接講解如何加載MapKit的視圖及相關(guān)的屬性。
目前成都創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、團(tuán)風(fēng)網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
導(dǎo)入系統(tǒng)文件,創(chuàng)建MKMapView對(duì)象即可,地圖就可以加載了。
第一步:申請(qǐng)Key
先申請(qǐng)高德的KEY
1、填寫應(yīng)用名稱
2、綁定服務(wù)選擇IOS平臺(tái)
3、輸入bundle id:將Xcode切換到General標(biāo)簽,即可查看Bundle Identifier
4、點(diǎn)擊獲取KEY
第二步、新建地圖工程
在xCode里,新建一個(gè)?Single View Application工程,并且進(jìn)行配置。
在高德官網(wǎng)有地圖配置的詳細(xì)說明,這里我就不多說了。
第三步、添加MKMapView
1、在xCode里選擇Build Phases標(biāo)簽,點(diǎn)開Link Binary With Libraries,再點(diǎn)加號(hào)。
2、在彈出來的搜索框里搜索Mapkit。
3、選擇iOS 8.0--MapKit.framework,最后點(diǎn)擊add即可。
第四步、申請(qǐng)定位權(quán)限
在?info.plist中追加NSLocationAlwaysUsageDescription或者NSLocationAlwaysUsageDescription字段。
NSLocationWhenInUseUsageDescription表示應(yīng)用在前臺(tái)的時(shí)候可以搜到更新的位置信息;NSLocationAlwaysUsageDescription表示應(yīng)用在前臺(tái)和后臺(tái)(suspend或terminated)都可以獲取到更新的位置數(shù)據(jù)。
所以我還是建議NSLocationAlwaysUsageDescription這種方便的模式,哈哈。
1.在工程的Supporting?Files中選擇plist文件
2.點(diǎn)擊+號(hào),輸入字段NSLocationAlwaysUsageDescription
3.按回車,即可完成添加字段
第五步、初始化Mapview
高德的坐標(biāo)系是國(guó)內(nèi)標(biāo)準(zhǔn)坐標(biāo)(GCJ-02,又稱火星坐標(biāo)),國(guó)際上一般是采用GPS坐標(biāo)(WGS-84),所以大多數(shù)國(guó)際應(yīng)用在中國(guó)使用時(shí),需要進(jìn)行坐標(biāo)轉(zhuǎn)換。
好在蘋果的MapKit用的是高德的地圖,showUserLocation= YES,坐標(biāo)已經(jīng)是GCJ-02的啦,可以直接使用~
(PS:不建議使用CLLocationManager定位管理類,它返回的坐標(biāo)是GPS坐標(biāo),必須進(jìn)行坐標(biāo)轉(zhuǎn)換,很麻煩。)
第六步、初始化AMapSearchAPI
構(gòu)造AMapSearchAPI對(duì)象,設(shè)置搜索結(jié)果語言為英文AMapSearchLanguage_en。
這步非常重要喔!必須要設(shè)置成英文,才能巧妙地讓POI搜索、逆地理編碼和地理編碼、輸入提示等,都變成純英文喔。
第七步、寫個(gè)搜索demo來看看
以一個(gè)普通的POI檢索為例,當(dāng)檢索英文關(guān)鍵詞時(shí),出來純英文的搜素建議;搜索結(jié)果也用英文來展示。
/* ?POI 搜索. ?*/
- ?(void)searchPOIWithKey:(NSString *)key adcode:(NSString *)adcode
{
if (key.length == 0)
{
return;
}
//構(gòu)造POI搜索對(duì)象AMapPlaceSearchRequest
AMapPlaceSearchRequest ?*place = [[AMapPlaceSearchRequest alloc] init];
//設(shè)置關(guān)鍵字
place.keywords = key;
place.requireExtension = YES;//設(shè)置成YES,返回信息詳細(xì),較費(fèi)流量
if (adcode.length 0)
{
place.city = @[adcode];
}
//發(fā)起查詢
[_search ?AMapPlaceSearch:place];
}
//回調(diào)中顯示結(jié)果
- ?(void)onPlaceSearchDone:(AMapPlaceSearchRequest *)request response:(AMapPlaceSearchResponse ?*)respons
{
if (respons.pois.count == 0)
{
return;
}
NSMutableArray ?*poiAnnotations = [NSMutableArray arrayWithCapacity:respons.pois.count];
[respons.pois ?enumerateObjectsUsingBlock:^(AMapPOI *obj, NSUInteger idx, BOOL *stop) {
[poiAnnotations ?addObject:[[POIAnnotation alloc] initWithPOI:obj]];
}];
/* ?將結(jié)果以annotation的形式加載到地圖上. */
[_mapView addAnnotations:poiAnnotations];
/* ?如果只有一個(gè)結(jié)果,設(shè)置其為中心點(diǎn). */
if (poiAnnotations.count == 1)
{
_mapView.centerCoordinate = [poiAnnotations[0] coordinate];
}
/* 如果有多個(gè)結(jié)果, 設(shè)置地圖使所有的annotation都可見. */
else
{
[_mapView showAnnotations:poiAnnotations animated:NO];
}
}
第一步:申請(qǐng)Key,用于搜索SDK。
提示:MapKit是不需要Key的,該key僅用于高德的iOS SDK搜索功能。
第二步:初始化MKMapView ,并添加到Subview。同時(shí),進(jìn)行定位,設(shè)置定位模式,在地圖上顯示定位點(diǎn)。
注意:
(1)MapKit中的定位(showUserLocation= YES),在回調(diào)中獲取的坐標(biāo)不用進(jìn)行坐標(biāo)偏轉(zhuǎn);若使用CLLocationManager方法進(jìn)行定位,需要進(jìn)行坐標(biāo)偏轉(zhuǎn)(參考附加內(nèi)容)。
(2)MapKit沒有申請(qǐng)定位權(quán)限,需在代碼中申請(qǐng)一下定位權(quán)限。
申請(qǐng)方法:在 info.plist中追加NSLocationWhenInUseUsageDescription或NSLocationAlwaysUsageDescription字段。其中:
NSLocationWhenInUseUsageDescription表示應(yīng)用在前臺(tái)的時(shí)候可以搜到更新的位置信息。
NSLocationAlwaysUsageDescription表示應(yīng)用在前臺(tái)和后臺(tái)(suspend或terminated)都可以獲取到更新的位置數(shù)據(jù)。
代碼如下:
//申請(qǐng)定位權(quán)限
- (void) initLocation
{
if(nil == _locationManager)
{
_locationManager = [[CLLocationManager alloc] init];
}
if([[[UIDevice currentDevice] systemVersion] floatValue] = 8.0)
{
[_locationManager requestAlwaysAuthorization];
}
}
//初始化MapView
- (void) initMapView{
//構(gòu)造MKMapView
_mapView = [[MKMapView alloc] initWithFrame:CGRectMake(0, 21, CGRectGetWidth(self.view.bounds), CGRectGetHeight(self.view.bounds))];
_mapView.delegate = self;
_mapView.showsUserLocation = YES;//顯示定位圖標(biāo)
[_mapView setUserTrackingMode:MKUserTrackingModeFollow];//設(shè)置定位模式
//將mapview添加到Subview中
[self.view addSubview:_mapView];
}
第三步:初始化主搜索對(duì)象AMapSearchAPI
構(gòu)造AMapSearchAPI對(duì)象,并設(shè)置搜索結(jié)果語言。(支持英文結(jié)果的搜索功能包括:POI搜索、逆地理編碼和地理編碼、輸入提示,能夠滿足基本的搜索功能)
//初始化AMapSearchAPI
- (void)initSearch
{
//構(gòu)造AMapSearchAPI
_search = [[AMapSearchAPI alloc] initWithSearchKey:APIKey Delegate:self];
_search.language = AMapSearchLanguage_en;//設(shè)置語言
}
第四步:構(gòu)造搜索對(duì)象,設(shè)置搜索參數(shù),發(fā)起查詢,在相應(yīng)的回調(diào)中進(jìn)行結(jié)果展示(如:POI查詢結(jié)果以大頭針標(biāo)注等等)。
以Demo中的POI查詢?yōu)槔赃x擇的輸入提示語為關(guān)鍵字
/* POI 搜索. */
- (void)searchPOIWithKey:(NSString *)key adcode:(NSString *)adcode
{
if (key.length == 0)
{
return;
}
//構(gòu)造POI搜索對(duì)象AMapPlaceSearchRequest
AMapPlaceSearchRequest *place = [[AMapPlaceSearchRequest alloc] init];
//設(shè)置關(guān)鍵字、
place.keywords = key;
place.requireExtension = YES;//設(shè)置成YES,返回信息詳細(xì),較費(fèi)流量
if (adcode.length 0)
{
place.city = @[adcode];
}
//發(fā)起查詢
[_search AMapPlaceSearch:place];
}
//回調(diào)中顯示結(jié)果
- (void)onPlaceSearchDone:(AMapPlaceSearchRequest *)request response:(AMapPlaceSearchResponse *)respons
{
if (respons.pois.count == 0)
{
return;
}
NSMutableArray *poiAnnotations = [NSMutableArray arrayWithCapacity:respons.pois.count];
[respons.pois enumerateObjectsUsingBlock:^(AMapPOI *obj, NSUInteger idx, BOOL *stop) {
[poiAnnotations addObject:[[POIAnnotation alloc] initWithPOI:obj]];
}];
/* 將結(jié)果以annotation的形式加載到地圖上. */
[_mapView addAnnotations:poiAnnotations];
/* 如果只有一個(gè)結(jié)果,設(shè)置其為中心點(diǎn). */
if (poiAnnotations.count == 1)
{
_mapView.centerCoordinate = [poiAnnotations[0] coordinate];
}
/* 如果有多個(gè)結(jié)果, 設(shè)置地圖使所有的annotation都可見. */
else
{
[_mapView showAnnotations:poiAnnotations animated:NO];
}
}
當(dāng)你克服重重困難終于開發(fā)出了自己的app,下一步就是向app store提交應(yīng)用了,這時(shí)應(yīng)該如何操作呢?我的app真的準(zhǔn)備好提交了?我敢肯定這些問題將會(huì)浮現(xiàn)在你的腦海?;谶@篇教程,我將告訴你一個(gè)完整的提交過程。
1.你的應(yīng)用已經(jīng)準(zhǔn)備好了嗎?
1
step1.測(cè)試
寫完最后一行代碼或者執(zhí)行完最后一個(gè)功能并不意味著你的app已經(jīng)完成了,你是否讓你的應(yīng)用在多個(gè)設(shè)備上進(jìn)行測(cè)試了?你的應(yīng)用是否有內(nèi)存泄露的問 題?你的 應(yīng)用程序是否總是崩潰?這幾年,ios設(shè)備市場(chǎng)規(guī)模增長(zhǎng)迅猛,你必須保證你的應(yīng)用已經(jīng)在盡可能多的設(shè)備上通過測(cè)試。常見的問題比如你是否在iphone 5的4寸屏幕到ipad mini的7.9寸屏幕上都通過了測(cè)試。
ios模擬器非常有用,但它是在mac上運(yùn)行的,內(nèi)存和處理能力要比你口袋中的手機(jī)強(qiáng)大很多,一款iphone 3gs和iphone 5的性能差別更不用多說。作為ios開發(fā)者,你可不能冒著風(fēng)險(xiǎn)長(zhǎng)期使用一款過時(shí)的ios設(shè)備來創(chuàng)建和維護(hù)app,即便app可以在老的ios設(shè)備上很好地 運(yùn)行,但不代表也可以在新設(shè)備上跑的順暢。
蘋果的審核是封閉的,但能減少不完善的性能表現(xiàn)給用戶帶來的糟糕體檢。如果你的應(yīng)用時(shí)常崩潰,或者啟動(dòng)后不久運(yùn)行速遞變得緩慢遲滯,那在向app store提交之前你還有不少工作要做。即便蘋果審核人員不能發(fā)現(xiàn)app存在的問題,但用戶會(huì)發(fā)現(xiàn)。如果用戶體驗(yàn)很差,那么用戶會(huì)給你的差評(píng)或者低分,進(jìn) 一步影響到應(yīng)用的銷售和下載。
2
step2.規(guī)則和指南
就像我前面所說的,蘋果為開發(fā)者提供了很多文檔資料,開發(fā)者尤其要注意ios人機(jī)交互指南和app store審核指南,不過不少開發(fā)者沒有精力或者難以靜下心來認(rèn)真研讀這些文檔,那么你的應(yīng)用將會(huì)因?yàn)檫@些文檔中列出的要求而被一再拒絕。
再退一步說,即便你沒有研讀ios人機(jī)交互指南和app store審核指南,但開發(fā)者也要知道大家常說的那些規(guī)則,如下我列出了一些你的應(yīng)用應(yīng)該和不應(yīng)該做的事情。
你的應(yīng)用:
不能崩潰
不能使用私有api,
不能復(fù)制原生app的功能,
應(yīng)該使用iap(應(yīng)用內(nèi)付費(fèi))金融交易
不能在用戶不知情的情況下使用相機(jī)或者麥克風(fēng)
應(yīng)該使用有版權(quán)的圖片
這些只是上邊所說的文檔內(nèi)容中很小的一部分。ios人機(jī)交互指南和app store審核指南內(nèi)容更多是非常瑣碎的。但有的小地方你也許會(huì)不經(jīng)意的違反。比如,在蘋果使用啟用自家地圖之前,mapkit framework使用的是谷歌地圖,用戶也非常清楚谷歌的logo會(huì)放在每張地圖的左下角,如果你的應(yīng)用的用戶界面覆蓋了谷歌的logo,那么蘋果就會(huì) 拒絕你的應(yīng)用。雖然這非常瑣碎,但也是不少開發(fā)者經(jīng)常“犯錯(cuò)誤”的地方。
END
2.預(yù)先準(zhǔn)備
1
step 1: app id(應(yīng)用id)
app id是識(shí)別不同應(yīng)用程序的唯一標(biāo)示符。每個(gè)app都需要一個(gè)app id或者app標(biāo)識(shí)。目前有兩種類型的app標(biāo)識(shí):一個(gè)是精確的app id(explicit app id),一個(gè)是通配符app id(wildcard app id)。 使用通配符的app id可以用來構(gòu)建和安裝多個(gè)程序。盡管通配符app id非常方便,但是一個(gè)精確的app id也是需要的,尤其是當(dāng)app使用icloud 或者使用其他ios功能的時(shí)候,比如game center、push notifications或者iap。
如果你不確定什么樣的app id適合你的項(xiàng)目,我推薦你讀下蘋果關(guān)于這一主題的文檔:technical note qa1713。
2
step 2: distribution certificate(發(fā)布證書)
ios應(yīng)用都有一個(gè)安全證書用于驗(yàn)證開發(fā)者身份和簽名。為了可以向app store提交app,你需要?jiǎng)?chuàng)建一個(gè)ios provisioning profile 。首先需要?jiǎng)?chuàng)建一個(gè)distribution certificate(發(fā)布證書),過程類似于創(chuàng)建一個(gè)development certificate(開發(fā)證書)。如果你已經(jīng)在實(shí)體設(shè)備上測(cè)試你的app,那么你對(duì)創(chuàng)建development certificate就已經(jīng)很熟悉了。
如果對(duì)此不熟悉,我建議你讀下蘋果關(guān)于signing certificates和provisioning profiles的詳細(xì)指導(dǎo)。
3
step 3: provisioning profile(配置文件)
一旦你創(chuàng)建了app id和distribution certificate,你可以創(chuàng)建一個(gè)ios provisioning profile以方便在app store中銷售你的app。不過,你不能使用和ad hoc distribution相同的provisioning profile。你需要為app store分銷創(chuàng)建一個(gè)單獨(dú)的provisioning profile,如果你使用通配符app id,那么你的多個(gè)app就可以使用相同的provisioning profile。
4
step 4: build settings(生成設(shè)置)
配置app id、distribution certificate 和provisioning profile已經(jīng)完成,是時(shí)候配置xcode中target的build settings了。在xcode project navigator的targets列表中選擇一個(gè)target,打開頂部的build settings選項(xiàng),然后更新一下code signing來跟之前創(chuàng)建的distribution provisioning profile相匹配。最近添加的provisioning profiles有時(shí)候不會(huì)立馬就在build settings的code signing中看到,重啟一下xcode就可以解決這個(gè)問題。
5
step 5: deployment target(部署目標(biāo))
非常有必要說下deployment target,xcode中每個(gè)target都有一個(gè)deployment target,它可以指出app可以運(yùn)行的最小版本。不過,一旦應(yīng)用在app store中生效,再去修改deployment target,你要考慮到一定后果。如果你在更新app的時(shí)候提高了deployment target,但是已經(jīng)購買應(yīng)用的用戶并沒有遇到新的deployment target,那么應(yīng)用就不能在用戶的移動(dòng)設(shè)備上運(yùn)行。如果用戶通過itunes (不是設(shè)備)下載了一個(gè)更新過的app,然后替代了設(shè)備上原先的版本,最后卻發(fā)現(xiàn)新版本不能在設(shè)備上運(yùn)行,這確實(shí)是個(gè)問題。
對(duì)此我有兩個(gè)方法
(1) 當(dāng)你決定提高現(xiàn)有app的deployment target時(shí),要在新版本的版本注釋中進(jìn)行說明。如果你提前告知用戶,那么至少有一點(diǎn),你已經(jīng)盡力阻止問題的發(fā)生了。
(2) 對(duì)于一款新app,我經(jīng)常會(huì)把deployment target設(shè)置為最近發(fā)布的系統(tǒng)版本。因?yàn)樾耰os版本發(fā)布后,滲透率的增長(zhǎng)速度是令人難以置信的。很多人認(rèn)為提高deployment target會(huì)失去大部分市場(chǎng),這個(gè)說法并不準(zhǔn)確,比如ios 6,ios 6發(fā)布后一個(gè)月,超過60%的設(shè)備已經(jīng)進(jìn)行了更新。但對(duì)android而言,就是另外一回事了,android用戶并不會(huì)像ios用戶那樣熱衷于更新操作 系統(tǒng)版本。
END
3. assets(資源包)提交
1
step 1: icons(圖標(biāo))
icon是app中不可分割的一部分,你要確保icon尺寸不會(huì)出現(xiàn)差錯(cuò)。
itunes artwork: 1024px x 1024px (required)
ipad/ipad mini: 72px x 72px and 114px x 114px (required)
iphone/ipod touch: 57px x 57px and 114px x 114px (required)
search icon: 29px x 29px and 58px x 58px (optional)
settings application: 50px x 50px and 100px x 100px (optional)
屏幕截圖的作用不言而喻,你可以為每個(gè)app上傳5張截圖,雖然至少需要上傳一張,可能很少有人會(huì)只上傳一張圖片。另外,你還需要分別為 iphone/ipod touch和ipad/ipad mini準(zhǔn)備不同的屏幕截圖。這也是不小的工作量,但卻能展示應(yīng)用的另一面。shiny development開發(fā)的一款售價(jià)6.99美元的mac軟件status magic可以為你節(jié)省不少時(shí)間。status magic可以幫你把狀態(tài)欄放在截圖的正確位置。
屏幕截圖和icon是應(yīng)用給用戶的第一感覺,直接關(guān)系到用戶會(huì)不會(huì)購買。不過,你所上傳的屏幕截圖也不一定非得是實(shí)際的截圖,看看where’s my water? (小鱷魚愛洗澡)截圖可以通過使用此策略,更具吸引力和說服力。
2
step 3: 元數(shù)據(jù)
在提交應(yīng)用之前,要管理好app的元數(shù)據(jù),包括1應(yīng)用名稱、2版本號(hào)、3主要類別,4簡(jiǎn)潔的描述,5關(guān)鍵詞,6.支持url。如果你需要更新應(yīng)用,你還要提供新增加的版本內(nèi)容。
如果你的應(yīng)用需要注冊(cè)嗎,你還得向蘋果提供一個(gè)測(cè)試賬戶或者demo賬戶,這樣審核人員就能很快進(jìn)入app,而不用再注冊(cè)賬號(hào)。
提交ios應(yīng)用
END
4. 提交準(zhǔn)備
1
step 1: 完成基本信息
出現(xiàn)在app store中app的名字要做到獨(dú)一無二, 這個(gè)名字可以不同于主屏幕icon下邊的名字,不過推薦使用相同的名字。
sku number是一個(gè)用來識(shí)別app的特殊字符串。我經(jīng)常使用app的bundle identifier。最下邊是app的bundle id,你可以從下來菜單中選擇通配符app id或者準(zhǔn)確的app id。
2
step 2:價(jià)格和有效性
下一步,確定app的價(jià)格和有效性。蘋果已經(jīng)確定好了價(jià)格梯度,所以你不需要分別選擇各個(gè)國(guó)家中app售價(jià),你只需要指定在哪個(gè)國(guó)家的應(yīng)用商店出售 即可。 在app store顯示這款應(yīng)用之后,這一過程中填的信息還可以被修改,也就是說你可以更改價(jià)格,并且不需要提交或更新。
3
step 3: 元數(shù)據(jù)
我們已經(jīng)說過元數(shù)據(jù)了,不過還沒有說應(yīng)用評(píng)級(jí)。根據(jù)應(yīng)用的內(nèi)容和功能,蘋果會(huì)給應(yīng)用一定評(píng)級(jí),比如很多應(yīng)用是4+,500px是17+。除了告訴用戶app的內(nèi)容和功能,也可以讓孩子的父母放心。
如果你的應(yīng)用等級(jí)跟內(nèi)容不符合,蘋果也會(huì)拒絕你的應(yīng)用。
4
step 4: 準(zhǔn)備上傳二進(jìn)制文件
提交完app的元數(shù)據(jù)后,你會(huì)看到關(guān)于app的一些摘要信息,你應(yīng)該在提交之前看看app的版本。點(diǎn)擊“view details”按鈕,再點(diǎn)擊右上角的“ready to upload binary”。然后系統(tǒng)會(huì)問你一個(gè)或幾個(gè)關(guān)于app的問題,完成后,你會(huì)看到提示信息,告訴你準(zhǔn)備上傳二進(jìn)制文件。app的狀態(tài)就變成“waiting for upload”。
END
5. 上傳二進(jìn)制文件
為了上傳程序,需要為程序創(chuàng)建一個(gè)archive。你只能在一臺(tái)真實(shí)設(shè)備上創(chuàng)建一個(gè)archive。 如果你在active scheme中選擇了ios simulator,那么在xcode的product菜單中archive選項(xiàng)是灰色不可選的。連接一臺(tái)ios設(shè)備到mac機(jī)器上,然后在active scheme中選擇這臺(tái)設(shè)備,然后選擇xcode中product菜單里面的archive。
如果一切正常的話,現(xiàn)在你會(huì)獲得一個(gè)archive,并且xcode的organizer會(huì)自動(dòng)打開,并顯示出剛剛生成的archive。在列表中 選中archive,然后點(diǎn)擊右邊的“distribute”按鈕。在顯示出來的畫面中,選擇“submit to the ios app store”。然后輸入你的ios開發(fā)者賬號(hào)進(jìn)行認(rèn)證。接著選擇application 和code signing identity。
應(yīng)用程序的二進(jìn)制文件會(huì)上傳到蘋果的服務(wù)器中——在這個(gè)過程中,你的程序同樣需要被驗(yàn)證。如果在驗(yàn)證過程中遇到了錯(cuò)誤,程序的提交流程就會(huì)失敗。驗(yàn)證處理非常有用,如果程序中有一些錯(cuò)誤,蘋果的 app store評(píng)審團(tuán)會(huì)告訴你具體原因。
END
6.等待
1
上傳完成后,app狀態(tài)就變成“waiting for review”了。
以橫條廣告為例的廣告插入實(shí)現(xiàn),插屏廣告同理,積分墻廣告待續(xù)。
工具/原料
SDK
方法/步驟
注冊(cè)下載SDK
創(chuàng)建項(xiàng)目,創(chuàng)建完成項(xiàng)目后、將會(huì)得到應(yīng)用ID、應(yīng)用密鑰這兩個(gè)字符串:
將下載下來的庫添加到本地項(xiàng)目中,選擇選項(xiàng):
其次添加依賴框架、這步很重要,
所要添加的依賴框架框架:
AdSupport.framework
Security.framework
StoreKit.framework
ImageIO.framework
MapKit.framework
QuartzCore.framework
SystemConfiguration.framework
CoreTelephony.framework
CoreGraphics.framework
添加完成、編譯....
最后代碼實(shí)現(xiàn)...顯示橫幅廣告
這里需要做3件事:
1)首先要到AppController.mm 中初始化代理
2)調(diào)用initQuMiGuangGao初始化方法
3)顯示廣告橫幅
1 將所要現(xiàn)實(shí)的那個(gè).cpp文件改成.mm文件
2 在.mm文件中把頭文件包含進(jìn)來