2018-01-09 00:59:25 gmr2453929471 阅读数 2283
  • iOS开发-全面解析iOS蓝牙BLE4.0开发

    只要你会OC基础,会写HelloWorld,你就可以实现iOS的蓝牙通信功能,实现蓝牙小项目也不在话下,作者会带领大家详细分析BLE4.0原理,通过分析xcode使用的蓝牙API,让学者能够得心应手的实现蓝牙BLE4.0的开发

    3507 人正在学习 去看看 许英俊

最近微信跳一跳很火,然后有大神出了python替你玩版本,觉得很有趣,就想试试。

然后大神这个工具是基于测试框架WDA的,然后其中最基础最基础的一步,就是你的xcode能够运行真机测试。

我的xcode版本是7.2,然后iphone版本是11.2.1 (15c153)

我从网上下了一个11.2的15c107的真机测试包,然后按照很多很多博客说的,直接把这个放到 

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 这个目录下,如下图所示(图中是我的8.3.3版本哈~)。


然后我再进xcode,发现不行,识别不出来,如下图所示,那个Deployment Target没有我需要的11.2,最高只有xcode自带的那个9.2,并且手机也是unavailable状态。


然后我觉得是不是光放到DeviceSupport文件夹下不够,还需要修改一些诸如Info.plist,  version.plist这样的配置文件,于是我又打开文件,将有9.2的地方统统改成11.2,将有13C75的地方统统改成15C107,然后再重启Xcode,发现能识别iphone了,但是编译报错。。。。。


网上真的查了很多很多资料,但是没有什么是教你如何修改plist文件的。。。。


忙了两天,各种修改xcode配置文件,改到xcode都打不开,当时我就绝望了。。。。


没办法,想着重新安装个xcode版本吧。网上一搜,发现9.x不太好,有bug,于是选择了8.3.3版本。你懂的,下xcode真的超级超级蛋疼,好不容易下好了,一装发现,我的mac OS系统版本不够,因为我是Captain。。。。因为之前升级到Captain的时候,我的开发环境之类的就出了好多错,尤其是python、pip,不加sudo根本安装不了,于是我是那种能不更新就不更新的类型。


我又去网上搜了下,升级到Sierra报错的也有不少,我表示很方。。。。


但是我tm搞了两天了,什么结果都没有,不可能在这个节骨眼上放弃吧,于是没办法只能更新到Sierra。


更新好了,xcode8.3.3也装好了,但是我也不知道能不能成,忐忐忑忑一步步来吧。

我就把之前下的那个真机测试支持包11.2(15c107)直接放到DeviceSupport文件夹下,然后开启了xcode。


先去window->device下检查,嗯~发现能识别我的手机啊~~~


然后还是去看deployment target,还是没有11.2,最高的是10.3。

但是!!!

能在我的手机上跑!!!我的Deployment Target选的是10.3!!!


真的要感动哭了~



总结:

1. 虽然我是11.2.1 (15c153),但是15c107的支持包照样能跑。

2. 啥plist都不用改,直接放到DeviceSupport完事。

3. 还是得靠xcode8.3,我真的应该早点更新xcode,及时下载非常蛋疼。









2018-10-11 09:41:31 clinch 阅读数 526
  • iOS开发-全面解析iOS蓝牙BLE4.0开发

    只要你会OC基础,会写HelloWorld,你就可以实现iOS的蓝牙通信功能,实现蓝牙小项目也不在话下,作者会带领大家详细分析BLE4.0原理,通过分析xcode使用的蓝牙API,让学者能够得心应手的实现蓝牙BLE4.0的开发

    3507 人正在学习 去看看 许英俊

在发布支持的iPhone,iPad,iPod touch,Apple TV和Apple Watch设备的iOS 11.3,tvOS 11.3和watchOS 4.3软件更新后,Apple还为应用程序开发人员发布了最终的Xcode 9.3 IDE .Xcode 9.3一直在开发中Apple的iOS 11.3,tvOS 11.3,macOS High Sierra 10.13.4以及watchOS 4.3软件更新的一部分,其中包括为想要为iOS设计和构建应用程序的开发人员设计的最新SDK(软件开发工具包) Xcode 9.3版本的亮点包括管理器窗口中的新“能源”选项卡,其中显示了应用程序消耗多少电量的信息,同时支持运行Swift构建任务和其他命令以改进构建表现,并打赌ter支持使用源编辑器编辑超大文件。支持AR参考图像文件,Swift编译器代码优化Xcode 9.3还引入了对AR参考图像文件到资产目录的支持,可以通过AR在现实世界中检测到(增强现实)使用ARKit创建的应用程序,一个新的xccov命令行工具,可以让您检查代码覆盖率报告,以及对Swift编译器的新代码大小优化,可以使用-Osize构建标志启用。除此之外,Xcode 9.3允许应用程序开发人员通过在Mac上按住Command键的同时单击符号来快速访问呼叫者。当然,有各种较小的改进和通常的错误修复,使Xcode成为所有有抱负的iOS,macOS,tvOS和watchOS应用程序的更好的地方on developers.Xcode 9.3现在可供运行最新macOS版本的所有用户使用,并且可以通过Mac上Mac App Store应用程序的Updates选项卡进行安装。请注意,虽然这是一个重约5.25GB的重大更新,但可能需要一段时间才能下载并安装到您的计算机上。

 

转自 http://www.adokey.com/news/360.html

2014-10-31 11:18:33 vieri_ch 阅读数 15759
  • iOS开发-全面解析iOS蓝牙BLE4.0开发

    只要你会OC基础,会写HelloWorld,你就可以实现iOS的蓝牙通信功能,实现蓝牙小项目也不在话下,作者会带领大家详细分析BLE4.0原理,通过分析xcode使用的蓝牙API,让学者能够得心应手的实现蓝牙BLE4.0的开发

    3507 人正在学习 去看看 许英俊

2018年9月4日 修订

1. lame版本升级至lame3.100

https://sourceforge.net/projects/lame/files/lame/

2. build脚本编译更新, 请仔细阅读文中脚本代码的改动

https://github.com/kewlbear/lame-ios-build

3. 支持bitcode

4. 支持xcode9.4.1

5. 支持模拟器和真机指令集(64位).

编译好的全指令集库下载, fat-lame是all in one, thin-lame是各自指令集的包, 同时包含.h文件.

https://download.csdn.net/download/vieri_ch/10647619

如需自行build, 按照如下步骤进行.

1. http://sourceforge.net/projects/lame/files/lame/ 下载lame的最新版本(3.100)解压到一个文件夹里. 例如lame,

完整路径如下

/Users/maios/Downloads/lame

2.下载build的脚本,https://github.com/kewlbear/lame-ios-build,下载之后得到build-lame.sh, 复制到如下路径.

/Users/maios/Downloads/lame

3. 用bbedit或者ultraedit打开这个脚本,按照注释修改

第8行改为

SOURCE=""

第11行改为

SCRATCH="/Users/maios/Downloads/lame"

4. 打开Terminals, 依次输入如下命令行

cd /Users/maios/Downloads/lame

chmod 755 ./build-lame.sh

sudo sh ./build-lame.sh

输入系统密码, 开始编译

5. 编译完成, 生成fat-lame目录和thin-lame目录,分别存放合并所有指令集的静态库,以及各指令集的静态库.

6. 根据所需,copy lame.h和libmp3lame.a文件到project里,就可以正常使用了。

7. 查看.a文件的指令集。

lipo -info libmp3lame.a

Architectures in the fat file: libmp3lame.a are: armv7 armv7s i386 x86_64 arm64

8. 验证.a文件是否支持bitcode , 依次执行以下命令行

cd /Users/maios/Downloads/lame/thin-lame/arm64/lib/
ar -x libmp3lame.a

解压抽取出lame.o文件

otool -l lame.o | grep bitcode

返回如下结果, 便是表示该.a库支持bitcode

sectname __bitcode

以下是完整的build的脚本,请注意第8行和第11行。

#!/bin/sh

CONFIGURE_FLAGS="--disable-shared --disable-frontend"

ARCHS="arm64 armv7s x86_64 i386 armv7"

# directories
SOURCE=""
FAT="fat-lame"

SCRATCH="/Users/maios/Downloads/lame"
# must be an absolute path
THIN=`pwd`/"thin-lame"

COMPILE="y"
LIPO="y"

if [ "$*" ]
then
	if [ "$*" = "lipo" ]
	then
		# skip compile
		COMPILE=
	else
		ARCHS="$*"
		if [ $# -eq 1 ]
		then
			# skip lipo
			LIPO=
		fi
	fi
fi

if [ "$COMPILE" ]
then
	CWD=`pwd`
	for ARCH in $ARCHS
	do
		echo "building $ARCH..."
		mkdir -p "$SCRATCH/$ARCH"
		cd "$SCRATCH/$ARCH"

		if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]
		then
		    PLATFORM="iPhoneSimulator"
		    if [ "$ARCH" = "x86_64" ]
		    then
		    	SIMULATOR="-mios-simulator-version-min=7.0"
                        HOST=x86_64-apple-darwin
		    else
		    	SIMULATOR="-mios-simulator-version-min=5.0"
                        HOST=i386-apple-darwin
		    fi
		else
		    PLATFORM="iPhoneOS"
		    SIMULATOR=
                    HOST=arm-apple-darwin
		fi

		XCRUN_SDK=`echo $PLATFORM | tr '[:upper:]' '[:lower:]'`
		CC="xcrun -sdk $XCRUN_SDK clang -arch $ARCH"
		#AS="$CWD/$SOURCE/extras/gas-preprocessor.pl $CC"
		CFLAGS="-arch $ARCH $SIMULATOR"
		if ! xcodebuild -version | grep "Xcode [1-6]\."
		then
			CFLAGS="$CFLAGS -fembed-bitcode"
		fi
		CXXFLAGS="$CFLAGS"
		LDFLAGS="$CFLAGS"

		CC=$CC $CWD/$SOURCE/configure \
		    $CONFIGURE_FLAGS \
                    --host=$HOST \
		    --prefix="$THIN/$ARCH" \
                    CC="$CC" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS"

		make -j3 install
		cd $CWD
	done
fi

if [ "$LIPO" ]
then
	echo "building fat binaries..."
	mkdir -p $FAT/lib
	set - $ARCHS
	CWD=`pwd`
	cd $THIN/$1/lib
	for LIB in *.a
	do
		cd $CWD
		lipo -create `find $THIN -name $LIB` -output $FAT/lib/$LIB
	done

	cd $CWD
	cp -rf $THIN/$1/include $FAT
fi

 

 

 

2019-12-14 05:44:15 liumiaocn 阅读数 174
  • iOS开发-全面解析iOS蓝牙BLE4.0开发

    只要你会OC基础,会写HelloWorld,你就可以实现iOS的蓝牙通信功能,实现蓝牙小项目也不在话下,作者会带领大家详细分析BLE4.0原理,通过分析xcode使用的蓝牙API,让学者能够得心应手的实现蓝牙BLE4.0的开发

    3507 人正在学习 去看看 许英俊

在这里插入图片描述
我们使用XCode 11.3创建一个基于Swift的的Hello World应用示例。

事前准备

安装XCode 11.3,本文示例只是添加一句NSLog,实际上版本相差不大,后续的构建和生成ipa方面不同版本差别还是有一些的。

liumiaocn:~ liumiao$ xcodebuild -version
Xcode 11.3
Build version 11C29
liumiaocn:~ liumiao$ 

创建Hello World应用

使用XCode创建一个Hello World的应用非常简单,使用如下步骤即可:

步骤1: 创建一个新的XCode工程

打开XCode之后,选中如下Create a new XCode project选项
在这里插入图片描述

Step 2: 选中Single View App并设定

选中下图中的Single View App模版,然后点击Next按钮
在这里插入图片描述
在接下来的设定中设定此工程相关的各个选项,输入的选项对于开发影响不大,但是对于后续构建以及构建之后上线则影响较大,需要有开发者账号和证书信息,此处只是为了本地开发和运行,可暂时随便输入,可在后续在工程设定中进行修改。
在这里插入图片描述

注意:此处选择Langeuage为Swift,User Interface为Storyboard

Step 3: 添加Hello World的Lable

上述页面在点击Next按钮选择保存场所之后就生成了此demo工程。
在这里插入图片描述

工程初始化时创建的相关文件信息如下所示:

liumiaocn:swift liumiao$ tree .
.
├── swift
│   ├── AppDelegate.swift
│   ├── Assets.xcassets
│   │   ├── AppIcon.appiconset
│   │   │   └── Contents.json
│   │   └── Contents.json
│   ├── Base.lproj
│   │   ├── LaunchScreen.storyboard
│   │   └── Main.storyboard
│   ├── Info.plist
│   ├── SceneDelegate.swift
│   └── ViewController.swift
├── swift.xcodeproj
│   ├── project.pbxproj
│   ├── project.xcworkspace
│   │   ├── contents.xcworkspacedata
│   │   ├── xcshareddata
│   │   │   └── IDEWorkspaceChecks.plist
│   │   └── xcuserdata
│   │       └── liumiao.xcuserdatad
│   │           └── UserInterfaceState.xcuserstate
│   └── xcuserdata
│       └── liumiao.xcuserdatad
│           └── xcschemes
│               └── xcschememanagement.plist
├── swiftTests
│   ├── Info.plist
│   └── swiftTests.swift
└── swiftUITests
    ├── Info.plist
    └── swiftUITests.swift

14 directories, 17 files
liumiaocn:swift liumiao$

点击Main.storyboard文件,然后点击右上的+按钮,再出现的控件列表中选中Lable
在这里插入图片描述
拖动此Lable到面板上,然后修改Lable的内容如下图所示:
在这里插入图片描述
这样,最简单的Swift的Hello World的示例工程也已经敷衍地完成了。

运行应用

使用Command + R可以模拟运行此应用,结果如下所示。
在这里插入图片描述

总结

使用XCode可以非常简单的生成一个基于Swift的工程应用,在后续可以使用xcodebuild或者fastlane对其进行打包操作。

2016-01-28 16:07:12 u010401391 阅读数 1211
  • iOS开发-全面解析iOS蓝牙BLE4.0开发

    只要你会OC基础,会写HelloWorld,你就可以实现iOS的蓝牙通信功能,实现蓝牙小项目也不在话下,作者会带领大家详细分析BLE4.0原理,通过分析xcode使用的蓝牙API,让学者能够得心应手的实现蓝牙BLE4.0的开发

    3507 人正在学习 去看看 许英俊

20171222添加:
1、不用iTunes,利用重签名工具iOS App Signer直接将.xcarchive文件生成.ipa文件
2、不用第三方重签名工具和iTunes,利用Xcode打包iOS的IPA文件
https://www.pgyer.com/doc/view/build_ipa

IOS如何下载旧版本应用APP
https://www.xuanfengge.com/ios-how-to-download-old-app.html
https://jingyan.baidu.com/article/5d368d1ed9aff83f60c05708.html
http://iphone.tgbus.com/tutorial/use/201507/20150706135633.shtml

iphone如何下载安装ipad的应用程序
http://www.jb51.net/shouji/243759.html

20180115添加:
http://blog.csdn.net/swj524152416/article/details/72779149?locationNum=11&fps=1
http://blog.csdn.net/ldpjay/article/details/46459509
http://blog.csdn.net/u013152587/article/details/78802909


20180118问题:
1月6号在公司mac电脑上提交了r1095 Client/proj.ios/MyCppGame.xcodeproj/project.xcworkspace/xcuserdata/kaayou.xcuserdatad/UserInterfaceState.xcuserstate之后,虚拟机mac上打开这个Xcode工程就会反复崩溃,今天把这个文件恢复到上一个版本r1094就正常了。


Cornerstone忽略不必要的文件
一般以.xcuserdatad、.xcscmblueprint结尾的文件需要忽略,文件夹xcuserdata也需要,这些可以在
Cornerstone——>Preference——>Subversion——>Global ignores中添加,去掉“use default global ignores”即可。
文件和文件夹都可以忽略不提交。


SVN关于忽略xcuserdata目录
http://blog.csdn.net/duanyipeng/article/details/44494071


若要设置忽略xcuserdata目录,需要:
1. cd到*.xcodeproj目录下面
cd /Xcode_Project/Qzone-for-iPhone_WorkingCopy/iphone_qzone_proj/trunk/src/Libraries/blur/blur.xcodeproj
2. 执行:
svn propset svn:ignore xcuserdata .
3. 退到工程根目录
cd /Xcode_Project/Qzone-for-iPhone_WorkingCopy/iphone_qzone_proj/trunk/src/
4. svn st
M   Libraries/blur/blur.xcodeproj
5. svn ci
搞定。


.xcodeproj目录中各文件作用及SVN/Git同步
http://blog.csdn.net/lixing333/article/details/47700687


各个文件/目录的作用,以及要不要提交更新。
1、project.pbxproj文件
代表的就是这个project。 
因此,在修改了这个文件之后,需要提交上去。
2、project.xcworkspace目录
workspace里面就是一个或多个projects的reference
3、user.pbxuser文件 
Xcode项目为每一个使用这个项目的用户创建一个user.pbxuser文件,存储了此用户对项目的偏好设置,如Xcode的位置和大小、文件书签等。可以看到这个文件是针对某个用户的,可以说是私人性质的,跟整个项目没有太大关系,所以一般不需要同步。
4、user.mode1v3和user.mode2v3文件 
这个也是用户相关的文件,和user.pbxuser差不多,存储某用户特定的项目设置,比如Xcode中window的状态和结构,断点等等。 
因此也不需要同步。
5、xcuserdata目录/xcshareddata目录: 
大体上来说,和上面两种一样,也是用户相关的文件,包含user state,folders的状态,最后打开的文件等。因此一般来说是不需要同步的。 
例外是,这个目录里也包含了scheme相关的内容。如果项目里需要同步特定的scheme,这时候,需要在Edit Scheme里,勾选Share框,然后把新生成的xcshareddata目录提交上去。
6、xccheckout  
这个文件在xcworkspace目录里。 
.xccheckout文件包含了关于workspace中用到了什么repo的数据。 
根据说明,它的规则和xcworkspace差不多:如果没用过,或者只是简单使用workspace,不需要同步;如果深入使用workspace,则需要同步。


总结1: 
.xcodeproj里的文件大体上有3种:
项目文件
单个用户的文件
跟workspace相关的文件
项目文件,需要同步; 
单个用户的文件,不需要同步; 
跟workspace相关的文件,视有没有深入使用workspace而定。


总结2:
需要同步的文件:
project.pbxproj文件
xcsharedata目录
不需要同步的文件
user.pbxuser文件
user.mode1v3/user.mode2v3文件
xcuserdata目录
视workspace情况而定的文件:
.xcworkspace目录
.xccheckout文件

20170125添加:
http://jingyan.baidu.com/article/2f9b480d97678041cb6cc290.html
http://blog.csdn.net/qinlicang/article/details/42677835
http://www.jianshu.com/p/01224fc523d4
ipa企业证书重签名步骤:
1、输入https://developer.apple.com,点击account,输入企业开发者账号和密码登录
2、选择Certificates,Identifiers & Profiles,用钥匙串访问创建一个证书请求文件,证书类型选择In-House and Ad Hoc;根据Bundle ID添加一个App ID,填hpcydyj,qb.hapigame.com;授权文件类型选择In House,App ID选hpcydyj。
3、用Mac下的重签名工具iReSign对ipa进行重签名,然后用iTools安装在未越狱的苹果设备上。
20160128问题:
ld: '/Users/Hsq/Documents/UnityHttpiOS7.1/Libraries/libiPhone-lib.a(AVCaptureAuthorization.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决方法:
Build Options|Enable Bitcode设置为No
问题1:
虚拟机安装OS X 10.11.3,iPhone4可充电,但iTunes 12.3.2.35不识别
No Devices Registered
Creating a provisoning profile requires one or more devices to be registered with your team.
Connect a device to your Mac to add it to your team.
【Cancel】【Done】 
解决方法:
把USB兼容性由USB 3.0改为USB 2.0
问题2:
Unable to copy symbols from this device
解决方法:
打开Mac系统的终端,更改对应文件夹的权限,设置为任何人都可以读写该文件夹
输入:chmod 777 /Users/admin/Library/Developer/Xcode
问题0:
Win7下虚拟机OS X 10.8.5升级为OS X EI Caption版本10.11.3
升级后,Xcode 4.6.3、Xcode 5.1.1均不能使用了,Xcode 7.0.1可用。
iTunes 12.3.2.35
Version 7.0.1(7A1001)
HelloXcode7
虚拟机OS X升级后,清理C盘的磁盘空间:
在虚拟机OS X EI Caption(版本10.11.3)中的Terminal,输入sudo /Library/Application\ Support/VMware\ Tools/vmware-

tools-cli disk shrink /,然后输入你电脑的密码,等待完成即可。
应用程序"Xcode.app"的这个版本不能与此版本的OS X配合使用。
您使用的是"Xcode.app"4.6.3。
应用程序"Xcode.app"的这个版本不能与此版本的OS X配合使用。
您使用的是"Xcode5.1.1.app"5.1.1。
越狱iPhone4 iOS 5.1.1升级到未越狱iPhone4 iOS 7.1.2
升级后,用iTools安装破解包HelloXcode4.6.3.ipa会出现:安装失败:授权无效
iOS7.1.2要求的iTunes版本:
未能使用 iPhone“iPhone”,因为它需要 iTunes 11.1 或更高版本。请访问 www.apple.com.cn/itunes 以下载最新版本的

iTunes。
iTunes for Mac V11.1.3官方中文版
http://www.pc6.com/SoftView/SoftView_18974.html
OS X 10.8中iTunes 10.6.3(25)64位
现有新版本的 iTunes(12.3.2)可供使用。您要现在下载吗?
【请勿下载】【下载iTunes】


macOS终端命令
文件夹改名:
HsqdeMac:~ hsq$ cd /
HsqdeMac:/ hsq$ mv Project3.x Project3.x_0
mv: rename Project3.x to Project3.x_0: Permission denied
HsqdeMac:/ hsq$ sudo -s
Password:
bash-3.2# mv Project3.x Project3.x_0
从root用户切换成普通用户:
 bash-3.2# su - hsq
HsqdeMac:~ hsq$ git clone https://Ivanhan2018@github.com/Ivanhan2018/Project3.x.git
HsqdeMac:~ hsq$ pwd
/Users/hsq

macOS磁盘大小由40GB扩展为60GB:
HsqdeMac:~ hsq$ diskutil resizeVolume disk0s2 60GB
Resizing to 60000000000 bytes
Started partitioning on disk0s2 未命名1
Verifying the disk
Verifying file system
Volume could not be unmounted
Using live mode
Performing fsck_hfs -fn -l -x /dev/rdisk0s2
Performing live verification
Checking Journaled HFS Plus volume
Checking extents overflow file
Checking catalog file
Checking multi-linked files
Checking catalog hierarchy
Checking extended attributes file
Checking volume bitmap
Checking volume information
The volume 未命名1 appears to be OK
File system check exit code is 0
Restoring the original state found as mounted
Resizing
Modifying partition map
Copying booter
Growing file system
Finished partitioning on disk0s2 未命名1
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *64.4 GB    disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS 未命名1                 60.0 GB    disk0s2
   3:                 Apple_Boot                         650.0 MB   disk0s4
HsqdeMac:~ hsq$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *64.4 GB    disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS 未命名1                 60.0 GB    disk0s2
   3:                 Apple_Boot                         650.0 MB   disk0s4

Xcode8.3支持iOS11

阅读数 649

没有更多推荐了,返回首页