• iOS11,iPhoneX适配

    一 升级iOS11适配

    1.1,适配UITableView

    if#available(iOS11.0, *) {
    
    self.contentInsetAdjustmentBehavior= .never
    
    self.estimatedRowHeight=0
    
    self.estimatedSectionHeaderHeight=0
    
    self.estimatedSectionFooterHeight=0
    
    }else{
    
    }

    1.2,适配UIScrollView

    if#available(iOS11.0, *) {
    
    scrollView?.contentInsetAdjustmentBehavior= .never
    
    }else{
    
    }
    

    1.3,UITableView中的sectionHeader或者Footer显示不正常

    还有的发现某些界面tableView的sectionHeader、sectionFooter高度与设置不符的问题,在iOS11中如果不实现-tableView: viewForHeaderInSection:和-tableView: viewForFooterInSection:,则-tableView: heightForHeaderInSection:和- tableView: heightForFooterInSection:不会被调用,导致它们都变成了默认高度,这是因为tableView在iOS11默认使用Self-Sizing,tableView的estimatedRowHeight、estimatedSectionHeaderHeight、estimatedSectionFooterHeight三个高度估算属性由默认的0变成了UITableViewAutomaticDimension,解决办法简单粗暴,就是实现对应方法或把这三个属性设为0。

    1.4,适配网页加载不全下面有白边

    if#available(iOS11.0, *) {
    
    webView.scrollView.contentInsetAdjustmentBehavior= .never
    
    }else{
    
    }

    1.5 如果使用了Masonry 进行布局,就要适配safeArea

    if ([UIDevice currentDevice].systemVersion.floatValue >= 11.0) {
    
             make.edges.equalTo(self.view.safeAreaInsets);
    
              } else {
    
              make.edges.equalTo(self.view);
    
            }

    二 iphoneX适配

    2.1 适配iPhoneX不能铺满屏的问题

    方案一:给Brand Assets添加一张1125*2436大小的图片,打开Assets.xcassets文件夹,找到Brand Assets,右键Show in Finder,添加一张1125*2436大小的图片。

    方案二:修改Contents.json文件,添加如下内容

    {
    
    "extent" : "full-screen",
    
    "idiom" : "iphone",
    
    "subtype" : "2436h",
    
    "filename" : "1125_2436.png”,
    
    "minimum-system-version" : "11.0",
    
    "orientation" : "portrait",
    
    "scale" : "3x"
    
    }

    2.2 适配iphoneX

    //适配iPhoneX
    
    letLL_iPhoneX = (kScreenW == Double(375.0) && kScreenH == Double(812.0) ?true:false)
    
    letkNavibarH = LL_iPhoneX ? Double(88.0) : Double(64.0)
    
    letkTabbarH = LL_iPhoneX ? Double(49.0+34.0) : Double(49.0)
    
    letkStatusbarH = LL_iPhoneX ? Double(44.0) : Double(20.0)

    2.3 设备信息

    if ([deviceString isEqualToString:@"iPhone10,1"])  return @"iPhone 8";
    
    if ([deviceString isEqualToString:@"iPhone10,4"])  return @"iPhone 8";
    
    if ([deviceString isEqualToString:@"iPhone10,2"])  return @"iPhone 8 Plus";
    
    if ([deviceString isEqualToString:@"iPhone10,5"])  return @"iPhone 8 Plus";
    
    if ([deviceString isEqualToString:@"iPhone10,3"])  return @"iPhone X";
    
    if ([deviceString isEqualToString:@"iPhone10,6"])  return @"iPhone X";
    

    三 Xcode9打包

    xcode9打包版本只能是8.2及以下版本,或者9.0及更高版本

    展开全文
  • 查看了网上也有相关的解决方法,改项目skip install,但是改过之后还是这样的![![图片说明](https://img-ask.csdn.net/upload/201602/29/1456738504_115072.png)图片说明]...
  • 一.安装jenkins 首先使用osx系统自带的homebrew来安装jenkins。 在终端中运行: $ brew install Jenkins $ ln -sfv/usr/local/opt/jenkins/*.plist ~/Library/LaunchAgents $ launchctl load~/Library/LaunchAgents/...

    一.安装jenkins

    首先使用osx系统自带的homebrew来安装jenkins。

    在终端中运行:

    $ brew install Jenkins
    $ ln -sfv/usr/local/opt/jenkins/*.plist ~/Library/LaunchAgents
    $ launchctl load~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist

    
    一切顺利的话,打开浏览器输入:http://localhost:8080/
    

    就能看到jenkins已经运行起来了。

    如果你需要关闭jenkins,只需要在终端中输入:

    $ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist



    二.配置jenkins

    1.在jenkins新建一个用户

    进入:Jenkins-系统管理-ConfigureGlobal Security


    按照图片所示选择,就新建了一个admin用户,并赋给它所愿权限。(小tips:勾选权限的时候,最右边有个全选按钮)

    保存后退出,并刷新页面,jenkins就会要求你注册一个账号,我直接注册了用户名admin。之后直接登录就好了。


    三.安装xcode插件

    首先从https://updates.jenkins-ci.org/download/plugins/

    中下载2个插件下来,一个是token-macro.hpi另一个xode-plugin.hpi

    然后进入jenkins-系统管理-管理插件-高级选项-上传插件

    需要先上传安装token-macro.hpi再上传安装xode-plugin.hpi。


    四.构建project工程

    选择:jenkins-新建。新建一个项目,项目名称DEMO,类型选择自由风格的软件项目


    点击ok,构建完成。进入DEMO-配置-增加构建步骤

    选择xcode


    然后,按照上面的提示写入相应的信息



    打包需要配置开发证书,有2种方式可以配置:

    1.在xcode中配置好,直接打包即可

    2.在jenkins中配置

    我们直接来说一下第二种方法。

    首先需要先找到证书的名称,在keychain中,找到要使用的证书,点击显示简介


    把常用名称复制下来,然后填在code signing identify中,并在embedded profile中写上要用的mobileprovision本地路径


    采用这种方法需要在custom xcodebuil arguments这行添加一个定制参数:"CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist" 


    然后构建运行。


    构建过程中,可以在DEMO-BuildHistory中查看log





    五.构建xcworkspace工程

    不多说,直接上图吧




    与project工程的配置大同小异。




    六.使用配置参数构建工程

    进入配置页面,参数化构建过程-添加参数-String Parameter



    然后我们新建一个配置参数用来表示ipa的包名,然后写上默认值。


    配置好了后,我们就能在构建过程中使用这个参数了


    最后保存退出配置页面,然后工程页面会出现一些改变。




    七.使用svn

    打包的时候经常要进行svn的update或者commit,可惜我试了几个svn的插件,都不好用,因此我直接用脚本了。


    使用这个脚本的前提是,你要在本地有个已经check out好的svn文件地址。


    第一次写博客,有些地方不是说得很清晰,见谅。

    展开全文
  • 原文发表于我的技术博客 本文分享了官方推荐的没有 iOS 开发者账号的情况下部署到真机的方法,供参考。 原文发表于我的技术博客 ...打开 Xode 设置 preferences (Xcode > Preferences…) 点击 ‘Account...

    原文发表于我的技术博客

    本文分享了官方推荐的没有 iOS 开发者账号的情况下部署到真机的方法,供参考。
    原文发表于我的技术博客

    1. 官方推荐的方法

    原文在此,也就是 Ionic 官方团队在博客中分享的方法,我简单翻译些重要的信息,详细细节可以参考原文。

    2. XCode 部署

    打开 Xode 设置 preferences (Xcode > Preferences…)
    点击 ‘Accounts’
    添加你的 Apple ID (+ > Add Apple ID…)
    当你登录成功后,会显示一个 ‘Personal Team’ 和角色 ‘Free’。

    截图

    新建一个项目,并执行 Ionic 的编译命令:
    ionic start testApp blank --v2
    cd testApp
    ionic build iOS

    当你连接上真机设备,选择运行的时候,会出现下面的错误:

    截图

    点击 ‘Fix Issue‘ 后出现:

    截图

    点击选择后会继续出现如下错误:

    截图

    回到真机上点击 ‘设置’ > ‘通用‘ > ‘设备管理’,你将看到你的 Apple ID 的邮箱地址,点击即可。

    截图

    这样,再回到 XCode 点击运行就可以了。

    3. Ionic View

    Ionic View 的原理是你打包应用后上传给 Ionic,然后就可以在 Ionic View 的 APP 中查看你上传的应用了,不要考虑发布、平台等问题。
    主要可以用来给客户演示使用,因为快速地迭代开发更新不需要每次都更新应用商店里的 APP。
    具体的可以去看博客的原文。

    4. Ionic Package

    为了解决在 Windows 下也可以打包 IPA 或者 APK 文件,Ionic 开发了 Ionic Package,iOS 提供 App Certificates & Provisioning Profiles,Android 提供 Android keystore 即可。
    对应的设置界面:

    截图

    截图

    最终在 Ionic 云平台中就可以帮您直接生成可供上架的 IPA 和 APK 了。
    详细步骤可参见:http://docs.ionic.io/services/package/

    展开全文
  • iOS打包发布测试版本

    2016-02-21 03:43:45
    iOS发布测试版本需要注册开发者账号,本教程为个人开发者账号,这里认为你已拥有开发者账号.没有的请自行查阅别的资料

    发布测试版本需要注册开发者账号,本教程为个人开发者账号,这里认为你已拥有开发者账号.没有的请自行查阅别的资料

    先做前期准备工作:
    1.打开钥匙串
    这里写图片描述

    2生成证书
    这里写图片描述

    这里写图片描述
    电子邮箱为开发者账号邮箱,常用名随便填,选择存储到磁盘

    3.最终生成的文件为
    这里写图片描述
    这个文件要存储在你找得到的位置,后边要用到.

        到这里位置,准备工作做完
    

    1.登陆开发者账号,到开发者中心https://developer.apple.com/然后进入个人心中:
    这里写图片描述

    进入登陆界面,输入开发者账号密码登陆.登陆成功后如下图:
    这里写图片描述
    选择证书页面,Certificates 图中红线标出

    3.选择任意选项,进入证书页面
    这里写图片描述

    4.进入界面后,左边一列就是我们刚才在上一页看到的四个选项的具体目录,右边就是对应目录“Certificates”下的“All”里面的具体内容,当前目录就是授权证书,我们看右边有一列名字叫做Type,Type标示证书的种类,例如当前大家看到的“iOS Distribution”发布授权证书、“iOS Development”调试授权证书、“APNs Development iOS”推送调试授权证书等。
    点击对应证书会出现证书详情,有移除和下载选项,这里我们点击右上方的“十”号进行授权证书创建。
    这里写图片描述

    ====================
    

    一.添加证书:
    这里写图片描述
    这里选择->发布用(App Store Ad Hoc),这个选项可以发布到App store和其他国内平台,如蒲公英和fir.im
    选择下一步,到选择钥匙串生成的证书页面
    这里写图片描述
    这里在mac上找到之前准备工作生成的密钥,然后下一步到最后.
    创建完成后,下载下来,双击安装

    二.创建identifiers
    用来创建一个你app的唯一标示符.这个比较简单.
    1.选择identifiers下面的App IDs
    这里写图片描述

    2.选择 App ID Suffix
    App ID Suffix 有两个选项:
    Explicit App ID :顾名思义,这里要填一个明确的 App ID,
    什么意思呢?可以这么来解释:我们做项目时的Bundle Identifier (Bundle ID)是用来标示我们的app的。我们的App ID也是用来标示我们的app的。这两个有什么联系呢?Explicit App ID 就是要我们确定一个唯一的 Bundle ID,用来标示我们的 app,使它有一个固定的身份。可以发现,当提交应用到苹果时,如果我们一开始没写 Explicit App ID,苹果会自动帮我们生成一个与我们发布时填的一样的 Bundle ID 到我们的 App ID中。

    填写  Explicit App ID 的格式为:com.company.appName
    

    Wildcard App ID:顾名思义,这里要填一个通配符的 App ID 。意思就是,我们只需要填一个在所有应用都能试用的 App ID 就好了。

    填写  Wildcard App ID 的格式为:com.company.* 
    

    申请真机调试的时候,不是为了某一个应用去调试,而是为了所有的应用去调试,必须能适应每一个app,所以我们选择 Wildcard App ID。
    com.company.* 的company 一般写公司的名字,也可以按需要写
    这里写图片描述

    这里写图片描述

    三.添加设备,这个比较简单,需要知道测试手机的UDID,不会看手机UDID的自行查找资料
    这里写图片描述
    Name 自己取一个设备的名字,UDID约等于设备的身份证
    这里写图片描述
    填写完成下一步,注册就完成了.个人用户可以注册100台设备

    四.申请描述文件

    1.选择添加描述文件
    这里写图片描述

    2.选择打包到本地,
    这里写图片描述

    3.选择第二步生成的App ID
    这里写图片描述

    4.选择第一步生成的证书
    这里写图片描述

    5.选择要参与测试的设备
    这里写图片描述

    6.为描述文件起名
    这里写图片描述

    7.完成后下载,关闭Xcode,双击描述文件安装

    之上所有步骤完成后,证书和配置文件以及bundle id就创建好了。剩下在本地项目中做出相应设置
    

    1.添加你的开发者账号和密码到项目中
    这里写图片描述

    2.设置Build Settings,见下图。debug 对应的是开发证书和开发的配置文件,release对应的是发布证书和发布配置文件,development对应的是测试环境,production对应的是生产环境。请大家根据实际情况选择对应的证书和配置文件。
    这里为用swift开发,Xode7.1
    这里写图片描述
    3.
    这里写图片描述

    4.修改scheme (修改为release版本)和 运行设备(修改为 iOS Device 形态),见下图
    这里写图片描述
    这里写图片描述

    5.如果要上传到AppStore,打包之前,先到https://itunesconnect.apple.com 创建应用的名字 填入相应的应用信息,3.5寸 4寸 4.7寸 5.5寸照片各5张,基本应用的资料 以及手动发行和自动发行版本等等。
    这里写图片描述
    6. 选择Device模式,archive打包 ,根据需求(上传或测试)选择证书、配置文件和scheme
    这里写图片描述
    7.打包编译.选择Archive
    这里写图片描述

    8.编译好后,本地打包
    这里写图片描述
    这里可以本地打包生成ipa,选择export,,或者上传App Store,选择Upload to App Store

    9.选择export,本地打包
    这里写图片描述

    10.选择证书
    这里写图片描述

    打包成功:如图
    这里写图片描述
    到这里,就可以把ipa文件上传到发布平台让他人测试了

    展开全文
  • 在测试iOS app或者是开发过程中,总会遇到各种各样的升级,比如XCode的升级,MAC OS 的升级,iOS系统升级,这种种升级,个人比较讨厌的是iOS系统的升级,它总是在你调试代码或者是测试过程中给你弹出一个对话框,如...

    在测试iOS app或者是开发过程中,总会遇到各种各样的升级,比如XCode的升级,MAC OS 的升级,iOS系统升级,这种种升级,个人比较讨厌的是iOS系统的升级,它总是在你调试代码或者是测试过程中给你弹出一个对话框,如下图:


    或许自己手抖一下,iPhone就开始默默的升级了。。。升级升吧,反正一会就装好了,待你升级到9.3.1,噩运也就开始了。当你拿着崭新的iOS系统去debug代码时,XCode会告诉你:你是9.3.1啊,我这XCode 7.2的系统不支持啊,你升级IDE吧。然后就是冷冰冰的弹框:


    这个错误是说,XCode找不到对应的磁盘映像,一般是因为iPhone系统过高或者过低,当前版本的XCode没有自带相应的磁盘映像(即相应的配置文件)。

    一般情况下,出现这个错误,我都会去升级XCode系统到7.3,但有时候手头有个紧急的测试任务,需要打包到真机进行测试,这时不可能去花几个小时升级XCode,那么怎么办呢?

    解决方案:

    其实每次升级完XCode,都会在这个路径下有对应iPhone系统的配置包文件:

    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport这个目录下有你当前Xcode所支持的所有真机系统,如下图,是我的Xcode 7.2 支持的真机系统:


    很显然,没有9.3.1的系统。到这里,估计大家也能猜出来怎么解决XCode 7.2不支持iOS 9.3.1的问题了,对,就是将已经升级过XCode 7.3中的配置文件包拷贝到你的这个目录下,问题迎刃而解。

    这里附上iOS 9.3的配置文件链接:http://yun.baidu.com/share/link?shareid=3027970673&uk=1460540684

    将文件解压后拷贝到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport这个目录下,如下图:


    需要注意一点的是,将9.3配置文件拷贝过去后,将XCode重启下再进行编译,如果还不行,可以尝试将MAC重启,如果正常的话,会重新扫描符号文件,待扫描完成,就可以进行真机调试了。



    转载自: http://mp.weixin.qq.com/s?src=3&timestamp=1462759507&ver=1&signature=aCqMBEJVHO-JWfklpTP4ISOKIk8InvGhfbHbWyz0pfqfm3ODoZMZer6rihUOo3iOBXl8tFwT6DUDrx4qVEnbNt3*A4R-ecKjrGd-mtGC*hCTohDjH3xDZVLO-VYBuqdiska8NL*PwzHmigS8vLdd2bFemvxM14PW4yJkRpwxBzE=

    展开全文
  • 公司项目中使用了protobuf-lua作为网络消息的传输格式,虽然使用protobuf有一段时间了,但是对于其使用环境的搭建还是不很清楚,趁着周末闲暇,就自己动手实践了一下。尽管网上有不少相关教程,但是当按照教程去做的...
  • 要求环境: Xcode version 9.0, iOS 11.0, Mac与iPhone连接同一个WiFi信号 打开Xcode, 使用数据线连接iPhone, 打开Xcode –>Window –>Devices and Simulators: 勾选Show as run destination 与Connect via ...
  • 1.参数化构建,ios需要两个版本,一个是企业版内部测试,一个是appstore版本,如下图所示,打钩参数化构建,添加Boolean Value的参数,名称设置为IS_INHOUSE_VERSION。这样在execute shell中构建的时候可以这样写: if...
  • 最近经常看见关于jenkins 各种文章,大约是anroid/iOS端的共同打包处理。UITest等,其中最为突出的一点就是能够可视化所有的结果。 于是找了几篇详尽描述的博文,开始集成并完成项目打包工作。 jenkins的安装并...
  • 一、Xcode8 插件 以为是和之前一样 Xcode 升级了,只需要更新 Xcode info.plsit 中的 DVTPlugInCompatibilityUUID,结果发现一点用都木有泪奔;苹果解决xcode ghost,把插件屏蔽了,为此也给大伙找到了相关的解决方法...
  • Archives目录 当有多个账号同时登陆Xcode时,有一些应用不在本机... 删除 你一定非常想删除这样的列表,但是Xcode中却没有删除功能! 进入目录:~/Library/Developer/Xcode/Products 删除对应无用的应用就可以!! ......
  • 要想使用真机测试,需要准备如下:1.证书:安装到电脑上的cer文件,只有安装了证书的电脑,才可以进行真机调试 2.App ID:就是应用程序的Bundle ID,每个应用程序都有一个唯一的Bundle ID,但是我们没必要为每一...
  • 在Xcode ->General ->Identity中有一个Version和Build,感觉这两个都是版本号,有点傻傻分不清。Version(应用程序发布版本号)对应的就是CFBundleShortVersionString。该版本的版本号是三个时期分隔的整数组成的...
  • 环境xode8.3 iOS10.3.2 Mac 10.12.1 1、安装homebrew 2、安装:libimobiledevice、carthage、ios-deploy、node、xcpretty brew install libimobiledevice --HEAD brew install carthage npm install -g ios-deploy ...
  • 最近因公司需要在导入Sdk,项目需要导入Mopub 的sdk,下面记录下导入unity的步骤和导出安卓包和iOS包时遇到的坑和解决方式 1.mopub 导入unity 1.导入mopub 的unity的sdk,是一个unitypackge的包,直接点击导入...
  • 许多第三方提供的.a文件(一般是那些SDK),嵌入到我们的xcode项目后,生成不会报错。 一部分粗心的SDK提供方,或者我们自己做的.a文件,就会有报错,常见的就是不是armv7结构,或者不是armv7s结构,如果在模拟器中...
  • appium-ios搭建环境

    2019-10-24 11:18:23
    xcode是苹果的一个开发工具,我们主要使用xocde自带的ios模拟器,在模拟器上进行iOS app的自动化测试。 打开MAC机上的APP Strore,搜索Xcode,进行安装或者更新,注意观察下xcode的更新日志,上面有写支持的iOS SDK...
1 2 3 4 5
收藏数 91
精华内容 36