iOS开发的那些坑(持续填坑中)

来源:互联网 发布:网络包工头接单网站 编辑:程序博客网 时间:2024/06/08 16:07


题记

        最近有了个app创意,自然想把创意转换为财富——那就要把app做出来。iOS开发以前做过一点,没有深入过。不过对于高手来说,技术神马的都是相通的,那就在实践中强化自己的技术。在这篇文章中,我将记录自己开发过程中遇到的坑,记录一些零散的知识点,文章会不断更新。

正文

        1、综合众大神的观点,打算使用纯代码实现这个app,能不用storyboard就不用storyboard。工程刚刚建立完成,我便删掉了工程中的Main.storyboard 和 LaunchScreen.storyboard,然后再程序初始化的AppDelegate的didFinishLaunchingWithOptions函数中实现如下代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];    self.window = [[UIWindow alloc] init];    UIViewController *tabBarVC = [[XXXTabBarController alloc] init];    self.window.rootViewController = tabBarVC;        [self.window makeKeyAndVisible];        return YES;}
但是运行程序的时候会发现程序的top和bottom两侧会有很大的黑色区域(为了对比,我把UIViewController中view的backgroundColor设置成了白色),也就是说程序实际上占用的区域只有中间一部分。尝试在iphone7、7plus、5的设备上运行都是一样的,通过NSLog输出 UIScreen mainScreen].bounds 会发现,输出的width和height分别是320、480,这个值是不对的。继续查看资料,通过把LaunchScreen.storyboard设置回来,问题就解决了。即在项目工程设置中的General>App Icons and launch Images>Launch Screen File设置成项目创建时生成的LaunchScreen.storyboard就可以了

        2、解决Xcode 的files missing from working copy警告。通过默认的工程创建,会有mian.m和APPDelegate类,我喜欢重新安排项目目录。重新安排main.m和AppDelegate类文件的目录后,Xcode会报files missing from working copy警告。这个警告实际上因为版本管理Git引起的,在创建项目之初,我选择了Create Git repository选项。找到了问题的原因,解决起来就好办了,只要在Xcode的Source Control 菜单下进行一下Commit操作就可以了。注意选中警告的文件。
 
        3、在编译工程的时候(尤其是下载而别人的工程),有时候会出现Apple Mach-O Linker Error(: Linker command failed with exit code 1 (use -v to see invocation))错误,但是又找不到具体的错误信息,很难解决这个连接错误。其实详细的错误信息可以在report navigator里找到。在现在xcode 8中,report navigator是8个navigator中最右侧的一个。
0 0
原创粉丝点击