iOS 项目开发常用配置

这篇博客详细介绍了iOS项目开发中的一些常见配置,包括HTTPS适配、MRC和ARC混编设置、预编译头文件路径配置、支付宝SDK集成、图标和启动图片生成、CocoaPods使用以及设备架构的对应。还提到了Xcode的Architectures设置和隐私权限的考虑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. iOS 9   https适配http在info.plist中配置NSAppTransportSecurity  类型为字典 包含有一个对象为: (NSAllowsArbitraryLoadsboolean YES )
  2. MRC和ARC混编  在targets的build phases选项下Compile Sources下选择要不使用arc编译的文件,双击它,输入-fno-objc-arc  MRC工程中也可以使用ARC的类。方法如下:在targets的build phases选项下Compile Sources下选择要使用arc编译的文件,双击它,输入 -fobjc-arc 即可
  3.  配置.pch路径所需要的$(SRCROOT)/我的支付宝/AliSDK/AliSDK-Prefix.pch ,Build Settings ->  Apple LLVM 7.0 - Language -> Prefix Header 
  4. 支付宝出现<openssl/rsa.h>not found :通过在Build Settings ->  Search Paths -> Header Search Paths ,添加openssl文件所在的路径 :$(SRCROOT)/我的支付宝/AliSDK 还有在 Build Settings ->  Search Paths -> Library Search Paths 添加openssl文件所在的路径 :$(PROJECT_DIR)/我的支付宝/AliSDK
  5. iOS 图标一键生成 http://icon.wuruihong.com
  6. 启动图片 所需尺寸  
     在Assets.xcassets里添加new LaunchImage; 在new LaunchImage里添加6张尺寸:
            iPhone Portrait iOS 8,9
            Retina HD 5.5    1242 * 2208
            Retina HD 4.7    750   * 1334
            iPhone Portrait iOS 7-9
            2x               640   * 960
            Retina 4         640   * 1136
            iPhoneX Portrait       
                             1125px × 2436px (375pt × 812pt @3x)
            iPhoneX Landscape      
                            2436px × 1125px (812pt × 375pt @3x)
            选择进入General—>Launch images Sourc 选择LaunchImage就行了;

  7. cocoapods 使用命令:vim Podfile 创建pod文件  点击: I 进入编辑状态 ,退出ESC键加wq回车进行退出 pod install 安装
    source 'https://github.com/CocoaPods/Specs.git'
    platform :ios, '8.0'
    use_frameworks!
    target '项目名称' do 
    	pod 'AFNetworking', '~> 3.0'
       	pod 'Masonry'
    	pod 'FLAnimatedImage', '~> 1.0'
    	pod 'TYAttributedLabel', '~> 2.6.2'
    	pod 'MBProgressHUD'
    	pod 'MJRefresh'
    	pod 'SDWebImage'
    	pod 'JPush'
    	pod 'MMPulseView'
    	pod 'SnapKit','~> 4.0.0'
    end

  8. ios设备对应环境

    arm64: iPhone6s | iphone6s plus|iPhone6| iPhone6 plus|iPhone5S | iPad Air| iPad mini2(iPad mini with Retina Display)
    armv7s :iPhone5|iPhone5C|iPad4(iPad with Retina Display)
    armv7: iPhone4|iPhone4S|iPad|iPad2|iPad3(The New iPad)|iPad mini|iPod Touch 3G|iPod Touch4
    i386 是针对intel通用微处理器32位处理器
    x86_64 是针对x86架构的64位处理器
    模拟器32位处理器测试需要i386架构,
    模拟器64位处理器测试需要x86_64架构,
    真机32位处理器需要armv7,或者armv7s架构,
    真机64位处理器需要arm64架构。

9.Xcode(Build Setting中Architectures)

1.Architectures
指定工程被编译成可支持哪些指令集类型,而支持的指令集越多,就会编译出包含多个指令集代码的数据包,对应生成二进制包就越大,也就是ipa包会变大。

2.Valid Architectures
限制可能被支持的指令集的范围,也就是Xcode编译出来的二进制包类型最终从这些类型产生,而编译出哪种指令集的包,将由Architectures与Valid Architectures(因此这个不能为空)的交集来确定

3.Build Active Architecture Only
指定是否只对当前连接设备所支持的指令集编译
当其值设置为YES,这个属性设置为yes,是为了debug的时候编译速度更快,它只编译当前的architecture版本,而设置为no时,会编译所有的版本。 所以,一般debug的时候可以选择设置为yes,release的时候要改为no,以适应不同设备。

10. 报错:symbol(s) not found for architecture x86_64
Xcode升级到5.1 新特性之一就是默认让所有App都通过64位编译器编译。原来在Xcode5.0.x的时候默认的Standard architectures只有(arm7,armv7s),到5.1之后默认就带上arm64的参数了。

目前临时的解决办法是 
1.把1.选中Targets—>Build Settings—>Architectures。
把build active architectures only 改为 NO。

2. 把最下面的Valid Architectures中的arm64参数删掉就可以了
   或者:
  双击Architectures,选择other,删除$(ARCH_STANDARD),然后增加armv7和armv7s(写上:$(ARCHS_STANDARD_32_BIT))。

3.clean 再build。
(以上都不行则说明模拟器中不能调试,只能真机调试)

11. 两个静态库冲突如果是存在相同的类那么就要删除其中一个库的类对库重新编译参考:静态库拆分
删除掉 Other Linker Flag 的 -all_load 
如果是有些库使用到了扩展函数(catagory)可以分别对这个库进行加载
使用:-force_load
-force_load  build/libs/libxx.a
(build是添加到当前目录下的)
或
-force_load $(BUILT_PRODUCTS_DIR)/libxx.a
(这里是直接添加静态库项目源码的做法)

12.隐私权限

1.// 相册  
<key>NSPhotoLibraryUsageDescription</key>   
<string>是否允许App访问您的相册</string> 
2.// 相机  
<key>NSCameraUsageDescription</key>   
<string>是否允许App访问您的相机</string>
3.// 位置  
<key>NSLocationUsageDescription</key>   
<string>是否允许App访问您的位置</string> 
4.// 始终访问位置  
<key>NSLocationAlwaysUsageDescription</key>   
<string>是否允许App通过您的地理位置信息获取您周边的相关数据</string> 
5.// 在使用期间访问位置  
<key>NSLocationWhenInUseUsageDescription</key>   
<string>是否允许App通过您的地理位置信息获取您周边的相关数据</string>   
6.// 蓝牙  
<key>NSBluetoothPeripheralUsageDescription</key>   
<string>是否允许App访问您的蓝牙</string> 
7.// 日历  
<key>NSCalendarsUsageDescription</key>   
<string>是否允许App访问您的日历</string> 
8.// 提醒事项  
<key>NSRemindersUsageDescription</key>   
<string>是否允许App访问您的提醒事项</string>  
9.// 麦克风  
<key>NSMicrophoneUsageDescription</key>   
<string>是否允许App访问您的麦克风</string>  
10.// 媒体资料库  
<key>NSAppleMusicUsageDescription</key>   
<string>是否允许App访问您的媒体资料库</string> 
11.// 运动与健康  
<key>NSMotionUsageDescription</key>   
<string>是否允许App访问您的运动与健身</string>  
12.// 健康更新  
<key>NSHealthUpdateUsageDescription</key>   
<string>是否允许App访问您的健康更新 </string>  
13.// 健康分享  
<key>NSHealthShareUsageDescription</key>   
<string>是否允许App访问您的健康分享</string> 
14.Siri
<key>Privacy - Siri Usage Description</key>   
<string>App需要您的同意,才能使用Siri来使用App的视频通话功能</string> 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值