The adaptation of iOS9 and Xcode7

Source: Internet
Author: User

First, iOS9 bitcode setup ProblemFirst, the biggest problem is the pit cargo xcode7,xcode7 default is open Bitcode, Bitcode is Apple in order to solve his own future applications can be arbitrary replacement of hardware processing to do the preparation is the arm instruction set and x64 instruction set problem

Then our project if you adopt a third-party library that someone else encapsulates, then, well, it will explode the following error
LD: '/usersframework/sdks/polymerpay/library/mobstat/lib**sdk.a (**FORSDK.O) ' does not contain bitcode. You must rebuild it with Bitcode enabled (Xcodesetting enable_bitcode), obtain a updated library from the vendor, or DISA Blebitcode for this target. For Architecture arm64

The above text shows that our third-party library does not support Bitcode, and if you need support, this third-party library will also support Bitcode. Apple's present temporary solution is like the first MRC and ARC solution, the original XCODE5 update when the default is the project is created arc, you can turn off arc to MRC, after a period of time, everyone began to use the ARC, then bitcode the same, When Xcode7 is turned on by default, we need to close, then how to close such as: Select Buildsetting in targets to search Bitcode, change the corresponding yes to the corresponding No. Second, iOS9 https problem
If the HTTP request was used before Xcode 9, then the app compiled on Xcode 9 is not networked, prompting the following error:
APP Transport Security has blocked a cleartext HTTP (/HTTP) resource load since it is insecure. Temporary exceptions can be configured via your app ' s info.plist file.
The modification method is either to enable the server to support HTTPS access or to turn off HTTPS usage. The first method is more expensive for the individual developer, so the latter approach is recommended, specifically by adding the Nsapptransportsecurity dictionary type to the project's Info.plist file, adding an element: Key to Nsallowsarbitraryloads, the value is yes. Such as:
Third, IOS 9 use URL scheme must be added to the white list (excerpt)

Otherwise, you will be prompted with an error similar to the following:
canopenurl:failed for URL: "Mqqopensdkapiv2://qqapp"-Error: "The This app isn't allowed to the query for scheme MQQOPENSDKAPIV 2 "
The fix is to add a Lsapplicationqueriesschemes array value to the Info.plist file that contains the string type scheme that needs to be whitelisted. Special Cool bar in the project using QQ, such as share login function, need to add the value is:
MqqopensdkapiV2
Mqqopensdkssologin
Mqq
MqzoneopensdkapiV2
Mqzoneopensdkapi19
Mqzoneopensdkapi
Mqzoneopensdk
Mqzone
Weixin
WeChat

third, Sina Weibo jsonkit on some models lead to crash (group Friends Gemini provide)

The problem is that the program will crash into jsonkit.m void Keyobjectisa = ((void * *) keys[idx]); This line of code, because the OS In X10.10, NSString employs the taggedpointer technique, which does not use the solution to apply ISA to obtain its owning class, but instead finds the type of the class table index by the next three bits, and the object pointer has a minimum position of 1.
How to solve: the solution is provided by the Group of Friends Sun reference address as follows
http://blog.csdn.net/woainiliuwei007/article/details/48549103
Because the Taggedpointer type cannot be used with ISA, it must be modified to Object_getclass (Keyobject), and it needs to be modified at line:2601.
This is attached to a modified Jsonkit, can be used normally? http://download.csdn.net/detail/woainiliuwei007/9123789
four, the original dylib suffix name of the library all modified to LIBZ.TBD


v. Error assertion failure in-[uiapplication _runwithmainscene:transitioncontext:completion:],/buildroot/library/ caches/com.apple.xbs/sources/uikit_sim/uikit-3505.16/uiapplication.m:3294 (Group Friends Sun offers)

In Info.plist, you can find: "main storyboard file base name" String "main", delete this entry, then start, the screen becomes a black screen

Add window Manually
-(BOOL) Application: (UIApplication *) application didfinishlaunchingwithoptions: (Nsdictionary *) launchOptions {
Override point for customization after application launch.
Self.window = [[UIWindow alloc] initwithframe:[[uiscreen mainscreen] bounds]]; Full Screen window
Self.window.backgroundColor = [Uicolor Whitecolor]; White background
[Self.window makekeyandvisible]; //
return YES;
}
OK, this due to update Xcode7 error has been resolved!
If you follow the above changes, and found that the error, then go to see if your project is added to the guide page?
Put the Add method above and turn it into the following.
This Add method before Xcode7 is not a problem, after Xcode7 can not write like this!
?
VI. Cannot find (lost). dylib file, instead of. tbd file and cannot run, please resolve it in the following way.
1. Go to Build phases >link Binary with librairies > + > ADD Other
2. Once in the File Selection window does "CMD" +shift+g (Go to folder) and type/usr/lib/
3. From/user/lib can add:libz.dylib and more ...
4. Compile and has fun

The adaptation of iOS9 and Xcode7

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.