项目开发解决方案及参考文献

受尽苦难而不厌,此乃修罗之道。 感谢各位大神分享。(づ ̄3 ̄)づ╭❤~



1、统计整个工程的代码行

小技巧5-iOS 统计Xcode整个工程的代码行数

2、蘑菇街路由

MGJRouter的简单实用

3、UIButton图文混排

UIButton的图文混排

4、iOS自定义瀑布流布局

IOS实现自定义布局瀑布流

5、上架流程

iOS App打包上架超详细流程(手把手图文教你)

6、地图定位

iOS:高德地图的使用

ios开发之 -- 调用系统定位获取当前经纬度与地理信息

7、自定义TabBarController

CYLTabBarController的使用

8、酒店日历选择器

高仿小猪短租入住时间选择器

9、友盟分享因http链接不显示缩略图的问题

目前发现三种解决方案

1、把url图片转换成UIImage类型缓存下来交给缩略图属性

SLShareManage *me = [[SLShareManage alloc]init];
NSURL *imgUrl = [NSURL URLWithString:self.raceBasicModel.imageURL];
UIImage *imageHttps = [UIImage imageWithData: [NSData dataWithContentsOfURL:imgUrl]];
me.image = imageHttps;

2、配置友盟分享时关闭强制验证https

[UMSocialGlobal shareInstance].isUsingHttpsWhenShareContent = NO;

3、配置白名单,并且在info.plist文件中设置安全域名

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

10、友盟推送

[iOS集成友盟推送,适配iOS10](//www.greatytc.com/p/cf75eaab8a5“一

iOS集成友盟推送

玩转 iOS 10 推送 —— UserNotifications Framework(上)
iOS 接收推送消息后跳转到某个页面(适配iOS10)

11、BeeCloud支付流程

BeeCloud iOS SDK

12、真机调试的问题

1、Your development team, "", does not support the Push Notifications capability.

最后解决方法如下:

找到工程文件中xxx.entitlements文件,在vim中打开
删除.entitlements文件中的<key>aps-environment</key>,保存后重新运行,即可。

2、若配置了开发环境,提示如下错误:

Signing for "XXX" requires a development team. Select a development team in the project editor.
Code signing is required for product type 'Application' in SDK 'iOS 10.0'

解决方法:

targets --> general --> Signing --> Team (选择你们公司的Team )

3、iPhone is busy: Preparing debugger support for iPhone?
解决方法:

Xocde—>Window menu—>Device and Simulators—>Device—>Button at bottom left corner—>Next—>Done

或者退出xcode,重启手机.

13、xcode修改公司名称和作者

选择项目工程-》TARGETS-》General

14、xcode修改工程名

xcode修改工程名

15、商品属性选择功能

[iOS商品详情页面,商品属性选择功能(SKU)](//www.greatytc.com/p/3b29c452大概小孩子

16、html页面加载优化

html页面加载优化

17、UI绘制工具

QMUI IOS

18、前端webview与原生交互

前端 WebView 指南之 iOS 交互篇

19、欢迎指南界面库

DWIntrosPage

20、自动混淆

iOS自动代码混淆专家

21、很多干货

全部干货

22、腾讯云IM接入案例

腾讯云IM接入案例

23、横竖屏切换

横竖屏切换

24、下拉筛选菜单

MMComBoBox

25、导航栏

iOS系统中导航栏的转场解决方案与最佳实践

26、WKWebview写入cookie

GGWkCookie

27、视频播放第三方框架

ZFPlayer

28、报错:Provisioning profile "XX" doesn't include signing certificate "xx developer"

这样操作

29、打包报错

ERROR ITMS-90166: "Missing Code Signing Entitlements. No entitlements found in bundle 'com.xxxxx.xxxxxxResources' for executable 'Payload/xxxxxxx.app/xxxxReaderResources.bundle/xxxxReaderResources’."

    此问题出现的原因是bundle中包含了可执行文件,事实上bundle里面可执行文件不是必要的,解决办法有两种:

    1. 删除info.plist里的exextable file选项,并在buildseting里将versioning system选项设置为none。 Apple Generic选 项是指使用苹果的版本系统工具来自动增加每次build的版本号,这会在打包的bundle中引入可执行文件

    2.删除the Compile Source Phase and the Link Binary with Libraries Phase这两个选项,也可以阻止bundle中引入可执行文件(第一条试过第二条没有试过)

30、使用md5对大文件加密

+ (NSString *)md5code:(NSString *)string{
    const char *cStr = [string UTF8String];
    unsigned char digest[CC_MD5_DIGEST_LENGTH];
    
    CC_MD5(cStr, (CC_LONG)strlen(cStr), digest);
    
    NSMutableString *result = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
    for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
        [result appendFormat:@"%02X", digest[i]];
    }
    
    return result;
}

31、使用URL启动应用程序,杀死进程后不调用OpenUrl方法

通过URL Scheme从App-A能成功跳转到App-B的指定页面,但是杀死App-B的进程再次点击跳转,却只能留在应用首页,而未到指定页面。
解决:在iOS中app启动的方式分为 自己启动、urlscheme启动、本地通知启动和远程通知启动。而这些需要通过方法 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions判断。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    if (launchOptions) {
        self.isLive = YES;
    }
  ……
}

然后调用applicationDidBecomeActive写跳转操作

- (void)applicationDidBecomeActive:(UIApplication *)application {
    if (self.isLive) {
        if ([self.navigationViewController.viewControllers.lastObject isKindOfClass:[SZLBaseWKViewController class]]) {
            SZLBaseWKViewController *baseUIWebVC = self.navigationViewController.viewControllers.lastObject;
            baseUIWebVC.htmlUrl = JKSH_PROTOCAL@"/#/liveLists";
            [baseUIWebVC.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:JKSH_PROTOCAL@"/#/liveLists"]]];
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容