真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ios開發(fā)問題,iOS問題報告

iOS開發(fā)-加載動態(tài)庫錯誤,請嘗試重新安裝軟件包

1.證書引起的錯誤

創(chuàng)新互聯(lián)建站"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機版的企業(yè)網(wǎng)站。實現(xiàn)跨屏營銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營銷需求!創(chuàng)新互聯(lián)建站具備承接各種類型的成都做網(wǎng)站、成都網(wǎng)站制作項目的能力。經(jīng)過十年的努力的開拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務,并獲得了客戶的一致好評。

控制臺錯誤截圖

在動態(tài)庫內(nèi)容沒有問題的情況下,大多是由于沒有對動態(tài)庫簽名導致的。iOS 8以后,蘋果支持使用自定義的動態(tài)庫,但不能上架到AppStore。我們的是企業(yè)級項目,不上架沒關(guān)系。

先查看一下你的動態(tài)庫內(nèi)容

解決辦法:在生成動態(tài)庫時選擇一個Team進行簽名即可。

2.Swift版本引起的錯誤(注意:下圖問題不一定是由于swift版本引起的,我遇到的問題就是swift版本引起了下面的問題)

解決方法:把下面的設(shè)置為YES

詳細說明我的問題:在之前,也就是Xcode7.3,動態(tài)庫是swift2.3寫的。通過loadAndReturnError加載是沒有問題的,因為Xcode7.3對應的就是swift2.3。swift3.0是Xcode8才推出來的,所以就沒問題。而現(xiàn)在,Xcode升級到的8.2,而swift也升到了3.0;但是,這個動態(tài)庫還是swift2.3,同時:工程設(shè)置里使用的是最新的swift版本,所以就會出現(xiàn)這個問題。

iOS開發(fā)中遇到的小問題-----總結(jié)

1、統(tǒng)一收鍵盤的方法

[[[UIApplication sharedApplication] keyWindow] endEditing:YES];

2、提示框

BBAlertView *alert = [[BBAlertView alloc] initWithStyle:BBAlertViewStyleDefault

Title:@"刪除訂單"

message:@"是否刪除訂單,"

customView:nil

delegate:self

cancelButtonTitle:L(@"取消")

otherButtonTitles:L(@"確認")];

[alert setCancelBlock:^{

}];

[alert setConfirmBlock:^{

[self orderDidRemovePressDown:tempDic Index:index.section];

}];

[alert show];

3、圖片的自適應功能

self.brandImage.contentMode = UIViewContentModeScaleAspectFit;

4、cocoaPods清除緩存問題

$ sudo rm -fr ~/.cocoapods/repos/master

$ pod setup

5、設(shè)置顯示鍵盤的樣式

textView.keyboardType =UIKeyboardTypeDefault;

//設(shè)置鍵盤右下角為完成(中文輸入法下)

textView.returnKeyType=UIReturnKeyDone;

6、輸出當前時間

NSDateFormatter * dateFormatter=[[NSDateFormatter alloc]init];

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"];

NSLog(@"當前毫秒時間1==%@",[dateFormatter stringFromDate:[NSDate date]]);

7、顯示兩秒然后消失

UILabel * lab=[[UILabel alloc]initWithFrame:CGRectMake(60,Main_Screen_Height-64-49-60, Main_Screen_Width-120, 50)];

lab.backgroundColor=[UIColor grayColor];

ViewRadius(lab, 20);

lab.textAlignment=NSTextAlignmentCenter;

lab.text=@"請先進行實名制驗證";

[self.view addSubview:lab];

[UILabel animateWithDuration:2 animations:^{

lab.alpha=0;

}completion:^(BOOL finished) {

[lab removeFromSuperview];

}];

8、設(shè)置placeholder屬性的大小和顏色

[_phoneFie setValue:[UIColor grayColor] forKeyPath:@"_placeholderLabel.textColor"];

[_phoneFie setValue:[UIFont boldSystemFontOfSize:15] forKeyPath:@"_placeholderLabel.font"];

_phoneFie.returnKeyType=UIReturnKeyDone;

9、設(shè)置cell的交互完全不可以使用

//[cellTwo setUserInteractionEnabled:NO];

//設(shè)置cell不可以點擊,但是上面的子控件可以交互

cellTwo.selectionStyle=UITableViewCellSelectionStyleNone;

10、將textField的placeholder 屬性的字體向右邊移動5

_field.leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10*Width_375, _field.frame.size.height)];

_field.leftViewMode = UITextFieldViewModeAlways;

11、開新線程使按鈕上的時間變化

-(void)startTime{

__block int timeout=60; //倒計時時間

UIButton * btn=(UIButton *)[self.view viewWithTag:1000];

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0,queue);

dispatch_source_set_timer(_timer,dispatch_walltime(NULL, 0),1.0*NSEC_PER_SEC, 0); //每秒執(zhí)行

dispatch_source_set_event_handler(_timer, ^{

if(timeout=0){

dispatch_source_cancel(_timer);

dispatch_async(dispatch_get_main_queue(), ^{

[btn setTitle:@"發(fā)送驗證碼" forState:UIControlStateNormal];

btn.enabled = YES;

});

}else{

//? int minutes = timeout / 60;

int miao = timeout % 60;

if (miao==0) {

miao = 60;

}

NSString *strTime = [NSString stringWithFormat:@"%.2d", miao];

dispatch_async(dispatch_get_main_queue(), ^{

[btn setTitle:[NSString stringWithFormat:@"剩余%@秒",strTime] forState:UIControlStateNormal];

btn.enabled = NO;

});

timeout--;

}

});

dispatch_resume(_timer);

}

12、隱藏TableView 中多余的行

UIView * view=[[UIView alloc]initWithFrame:CGRectZero];

[_tabelView setTableFooterView:view];

13、UIView添加背景圖片

UIImage * image=[UIImage imageNamed:@"friend750"];

headSeV.layer.contents=(id)image.CGImage;

14、UITableView取消選中狀態(tài)

[tableView deselectRowAtIndexPath:indexPath animated:YES];// 取消選中

15、帶屬性的字符串

NSFontAttributeName? 字體

NSParagraphStyleAttributeName? 段落格式

NSForegroundColorAttributeName? 字體顏色

NSBackgroundColorAttributeName? 背景顏色

NSStrikethroughStyleAttributeName 刪除線格式

NSUnderlineStyleAttributeName? ? ? 下劃線格式

NSStrokeColorAttributeName? ? ? ? 刪除線顏色

NSStrokeWidthAttributeName 刪除線寬度

NSShadowAttributeName? 陰影

1.? 使用實例

UILabel *testLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 100, 320, 30)];

testLabel.backgroundColor = [UIColor lightGrayColor];

testLabel.textAlignment = NSTextAlignmentCenter;

NSMutableAttributedString *AttributedStr = [[NSMutableAttributedString alloc]initWithString:@"今天天氣不錯呀"];

[AttributedStr addAttribute:NSFontAttributeName

value:[UIFont systemFontOfSize:16.0]

range:NSMakeRange(2, 2)];

[AttributedStr addAttribute:NSForegroundColorAttributeName

value:[UIColor redColor]

range:NSMakeRange(2, 2)];

testLabel.attributedText = AttributedStr;

[self.view addSubview:testLabel];

16、加大按鈕的點擊范圍

把UIButton的frame 設(shè)置的大一些,然后給UIButton設(shè)置一個小些的圖片

[tmpBtn setImageEdgeInsets:UIEdgeInsetsMake(5, 5, 5, 5)];

// 注意這里不能用setBackgroundImage

[tmpBtn setImage:[UIImage imageNamed:@"testBtnImage"] forState:UIControlStateNormal];

17、//避免self的強引用

__weak ViewController *weakSelf = self;

18、//類別的創(chuàng)建

command +n ——Objective-C File———(File Type? 選擇是類別還是擴展)———(Class? 選擇為哪個控件寫類別)

19、修改UITableview 滾動條顏色的方法

self.tableView.indicatorStyle=UIScrollViewIndicatorStyleWhite;

20、利用UIWebView顯示pdf文件

webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];

[webView setDelegate:self];

[webView setScalesPageToFit:YES];

[webViewsetAutoresizingMask:UIViewAutoresizingFlexibleWidth |UIViewAutoresizingFlexibleHeight];

[webView setAllowsInlineMediaPlayback:YES];

[self.view addSubview:webView];

NSString *pdfPath = [[NSBundle mainBundle]pathForResource:@"ojc" ofType:@"pdf"];

NSURL *url = [NSURLfileURLWithPath:pdfPath];

NSURLRequest *request = [NSURLRequestrequestWithURL:url

cachePolicy:NSURLRequestUseProtocolCachePolicy

timeoutInterval:5];

[webView loadRequest:request];

21、將plist文件中的數(shù)據(jù)賦給數(shù)組

NSString *thePath = [[NSBundle mainBundle]pathForResource:@"States" ofType:@"plist"];

NSArray *array = [NSArrayarrayWithContentsOfFile:thePath];

22、隱藏狀態(tài)欄

[[UIApplication shareApplication]setStatusBarHidden: YES animated:NO];

23、給navigation? Bar? 設(shè)置title顏色

UIColor *whiteColor = [UIColor whiteColor];

NSDictionary *dic = [NSDictionary dictionaryWithObject:whiteColor forKey:NSForegroundColorAttributeName];

[self.navigationController.navigationBar setTitleTextAttributes:dic];

24、使用AirDrop 進行分享

NSArray *array = @[@"test1", @"test2"];

UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:array applicationActivities:nil];

[self presentViewController:activityVC animated:YES

completion:^{

NSLog(@"Air");

}];

25、把tableview里面Cell的小對勾的顏色改成別的顏色

_mTableView.tintColor = [UIColor redColor];

26、UITableView去掉分割線

_tableView.separatorStyle = NO;

27、正則判斷手機號碼地址格式

- (BOOL)isMobileNumber:(NSString *)mobileNum {

//? ? 電信號段:133/153/180/181/189/177

//? ? 聯(lián)通號段:130/131/132/155/156/185/186/145/176

//? ? 移動號段:134/135/136/137/138/139/150/151/152/157/158/159/182/183/184/187/188/147/178

//? ? 虛擬運營商:170

NSString *MOBILE = @"^1(3[0-9]|4[57]|5[0-35-9]|8[0-9]|7[06-8])\\d{8}$";

NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];

return [regextestmobile evaluateWithObject:mobileNum];

}

28、控制交易密碼位數(shù)

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

if (textField.text.length =6){

[MBProgressHUD showMessage:@"密碼為6位" afterDelay:1.8];

return NO;

}

return YES;

}

29、判斷是不是空

if ([real_name isKindOfClass:[NSNull class]] ) {

return NO;}

30、點擊號碼撥打電話

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://400966220"]];

31、控制UITabbar的選擇哪一個

[self.tabBarController setSelectedIndex:1];

32、獲取當前App的版本號

NSDictionary?*infoDictionary?=?[[NSBundle?mainBundle]?infoDictionary];

CFShow(infoDictionary);

//?app名稱

NSString?*app_Name?=?[infoDictionary?objectForKey:@"CFBundleDisplayName"];

//?app版本

NSString?*app_Version?=?[infoDictionary?objectForKey:@"CFBundleShortVersionString"];

//?app?build版本

NSString?*app_build?=?[infoDictionary?objectForKey:@"CFBundleVersion"];

33、蘋果app權(quán)限NSPhotoLibraryUsageDescriptionApp需要您的同意,才能訪問相冊NSCameraUsageDescriptionApp需要您的同意,才能訪問相機NSMicrophoneUsageDescriptionApp需要您的同意,才能訪問麥克風NSLocationUsageDescriptionApp需要您的同意,才能訪問位置NSLocationWhenInUseUsageDescriptionApp需要您的同意,才能在使用期間訪問位置NSLocationAlwaysUsageDescriptionApp需要您的同意,才能始終訪問位置NSCalendarsUsageDescriptionApp需要您的同意,才能訪問日歷NSRemindersUsageDescriptionApp需要您的同意,才能訪問提醒事項NSMotionUsageDescriptionApp需要您的同意,才能訪問運動與健身NSHealthUpdateUsageDescriptionApp需要您的同意,才能訪問健康更新NSHealthShareUsageDescriptionApp需要您的同意,才能訪問健康分享NSBluetoothPeripheralUsageDescriptionApp需要您的同意,才能訪問藍牙NSAppleMusicUsageDescriptionApp需要您的同意,才能訪問媒體資料庫

34、控件設(shè)置邊框

_describText.layer.borderColor = [[UIColor colorWithRed:215.0 / 255.0 green:215.0 / 255.0 blue:215.0 / 255.0 alpha:1] CGColor];

_describText.layer.borderWidth = 1.0;

_describText.layer.cornerRadius = 4.0;

_describText.clipsToBounds = YES;

35、//隱藏電池條的方法

-(BOOL)prefersStatusBarHidden{

return YES;

}

36、延時操作

[NSThread sleepForTimeInterval:2];

方法二:

[self performSelector:@selector(delayMethod) withObject:nil afterDelay:1.5];

37、系統(tǒng)風火輪:

[UIApplication sharedApplication].networkActivityIndicatorVisible = NO; //隱藏

38、//didSelectRowAtIndexPath:方法里面找到當前的Cell

AssessMentCell * cell = [tableView cellForRowAtIndexPath:indexPath];

39、navigation上返回按鈕的顏色以及返回按鈕后面文字去掉

//返回按鈕后邊文字去掉

[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60)

forBarMetrics:UIBarMetricsDefault];

//設(shè)置左上角返回按鈕的顏色

self.navigationController.navigationBar.tintColor = UIColorFromRGB(0x666666);

40、lineBreakMode //設(shè)置文字過長時的顯示格式

label.lineBreakMode = NSLineBreakByCharWrapping;以字符為顯示單位顯

示,后面部分省略不顯示。

label.lineBreakMode = NSLineBreakByClipping;剪切與文本寬度相同的內(nèi)

容長度,后半部分被刪除。

label.lineBreakMode = NSLineBreakByTruncatingHead;前面部分文字

以……方式省略,顯示尾部文字內(nèi)容。

label.lineBreakMode = NSLineBreakByTruncatingMiddle;中間的內(nèi)容

以……方式省略,顯示頭尾的文字內(nèi)容。

label.lineBreakMode = NSLineBreakByTruncatingTail;結(jié)尾部分的內(nèi)容

以……方式省略,顯示頭的文字內(nèi)容。

label.lineBreakMode = NSLineBreakByWordWrapping;以單詞為顯示單位顯

示,后面部分省略不顯示。

iOS 開發(fā)問題總結(jié) PAC Fetch failed with cached error [NSURLErrorDomain:-1004]

1.PAC Fetch failed with cached error [NSURLErrorDomain:-1004]

在開發(fā)過程中遇到了上訴錯誤,找了很久的原因,剛開始以為是第三方網(wǎng)絡(luò)框架的原因,排除第三方網(wǎng)絡(luò)框架的原因之后又檢查了緩存原因.最后發(fā)現(xiàn)都不是,是系統(tǒng)設(shè)置了自動代理導致的,解決辦法就是關(guān)閉系統(tǒng)自動代理,關(guān)閉之后就不會再報這個錯誤了.再百度上沒有這個問題的記載,最后在谷歌找到答案,特地記錄一下.

解決方法:

系統(tǒng)偏好設(shè)置--網(wǎng)絡(luò)--高級--代理--關(guān)閉自動代理

iOS開發(fā)常見問題

如果 xcode 中配置文件安裝比較多,有些用不到了,可以到下面路徑進行刪除.

~/Library/MobileDevice/Provisioning Profiles

1 直接剪切

通過打印 tabBar 的子 view, 我們發(fā)現(xiàn)黑線的 y 值是-0.5;

這種方法雖然直接,對于去除 navi 的黑線也是有效的.但是本人不推薦這么去做.如果你的應用里沒有突出的當然是可以的.

2 刪除黑線

和刪除 navi 的差不多,不過不用進行二次遍歷.

當然這種刪除方式,適合自定義的 tabBar, 如果是使用tabbarController 的屬性的話,就不適用了.因為在tabbarController里我們拿不到 tabBar 的 subViews. 通過打印,會發(fā)現(xiàn)是空數(shù)組.這時我們可以使用KVC 使用自定義的 tabBar 去替換系統(tǒng)屬性.

后臺返回的經(jīng)常會見到(null), 那么null是什么鬼, 改怎么處理.使用.通過測試,我們可以看出來下面的結(jié)果.

由上面得出以下結(jié)論.

1.nil, 表示的是空指針,指向的對象是空,地址是0x0, 打印返回的結(jié)果是(null).

2.[NSNull null],表示一個對象是空值,是有內(nèi)存地址的.打印結(jié)果是null.

3.對于字符串來講一個空字符串和字符串是空是兩種概念.如 str 和str2,兩種寫法. 如果有時候不確定返回的字符串是@""還是 nil, 最好使用 [str isEqualToString:@""] || str.length == 0 這種判斷方式. str 只使用** [str isEqualToString:@""] ** 是無效的.

在某個功能中,后臺返回的是字符串,但是要顯示在不同的label 中,才注意到了這個方法.

由于現(xiàn)在的請求是 HTTP,運行時報以下信息內(nèi)容

App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.

這時候需要在info.plist中添加一個字段.

通過打印webView 的 subViews 發(fā)現(xiàn), webView 的子 View 中有個 _UIWebViewScrollView 的成員變量, 所以進行猜測.

注意到了 webView 有一個scrollView 的屬性,那么更簡單的做法是:

只需要給 tableView 的 tableFooterView 添加一個空的 View 即可

有一個屬性 background ,在習慣性找backgroundImage 的時候,有時忽略了這個屬性.

有時候需要替換字符串里的字符.

在實際應用中需要獲取設(shè)備的信息.系統(tǒng)給了一個類UIDevice, 可以用來獲取一些基本信息.

如果要獲取具體的設(shè)備型號,比如要給專門的機型推送一些服務的話.那個就得拿到設(shè)備的類型.

通過拿到產(chǎn)品類型我們可以進而判斷出機型. 下面是網(wǎng)上總結(jié)出來的

由于創(chuàng)建項目時,項目名稱包含中文會,Bundle Identifier 中會直接使用-代替中文.所以項目名稱一般會使用英文,實在不行要使用拼音.這樣的話,安裝到手機中的名稱要顯示自己想要的名稱的話.

需要在** info.plist ** 中添加一項.** Bundle display name **.

對應的 Value 就是安裝app 后,顯示的名稱.

由于現(xiàn)在是Retina 屏幕,使用 CATextLayer時,設(shè)置完字體后顯示會模糊.

下面看一下映射關(guān)系.

非Retina:1 Point = 1 x 1 Pixel

Retina:1 Point = 2 x 2 Pixel

由于 Retina 屏一個 Point 映射4個(2 * 2) Pixel,所以 scale為2.

所以這時牽扯到一個屬性:contentsScale

有兩種方案:

方案一 : 使用帶屬性的字符串,這種方法簡單明了.

方案二 : 設(shè)置navigationItem.titleView. 給titleView賦值一個 label, 這樣子的話修改起來都是常規(guī)做法.

iOS SDK框架開發(fā)中的那些坑

????最近業(yè)務需求需要開發(fā)一個SDK集成到友方App中,于是就有了本文中的這些經(jīng)驗(掉坑-爬坑-掉下一個坑)。

????這個其實不涉及技術(shù)問題,但是也需要謹慎,因為我們的SDK屬于一個比較完整的業(yè)務模塊,所以依賴的第三方庫還是挺多的,其中就用到了高德地圖,(開始我們就用的通用版本,結(jié)果友方用的是另一個版本,結(jié)果為了能夠集成成功,后期不得不更改高德地圖版本),所以建議如果是這種明確合作方的SDK這種框架還是需要提前溝通好。

????PS:忍不住吐槽一下,高德地圖整出一大堆亂七八糟的框架目的是個啥呢,又不能互相兼容,開發(fā)者還不知道選擇哪個合適。

????原生App開發(fā),資源文件最多的無非是圖片,在平時項目開發(fā)中一般會放到asset文件夾中,但是在SDK中,需要創(chuàng)建.bundle文件(建議與項目同名)對資源文件進行管理。

????該方法在項目中使用舉例:

????簡單來說,在生成模擬器.framework中與生成真機.framework時,都存在arm64架構(gòu),網(wǎng)上提供的通過后期命令行刪除某個arm64的方式始終無法解決該問題。此時需要配置如圖選項,大概意思是在模擬器生成的.framework的框架不再添加arm64,后期將模擬器庫與真機庫合并,各個架構(gòu)模式就都存在了。

模擬器包與真機包合并命令行

制作遠程私有庫的教程有很多,此處就不展開來仔細說明了。 iOS開發(fā): 配置CocoaPods遠程私有倉庫 重點說一下針對非開源的.framework框架,如何去配置spec

設(shè)置自己的非開源SDK

設(shè)置項目SDK相關(guān)的資源文件夾(bundle)

當自己開發(fā)的SDK中包含類目文件時,編譯就會有提示找不到,此時需要在設(shè)置頁other_laflags添加'-objc',但是在SDK中無法設(shè)置,只能寫在spec文件。

當調(diào)用pod lib lint --verbose --use-libraries時報了如下錯誤:

Ld .../Build/Intermediates.noindex/App.build/Release-iphonesimulator/App.build/Objects-normal/arm64/Binary/App normal arm64

解決方案:

????經(jīng)歷了整個SDK的完整開發(fā)流程,一步步排除問題,最終達到了最終結(jié)果。在此感謝一起解決問題的同事--卞老板。


網(wǎng)站欄目:ios開發(fā)問題,iOS問題報告
標題URL:http://weahome.cn/article/hogocp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部