After upgrading xcode7.2 from xcode6.x, it was discovered that a bunch of things would be done to fit, or the previous project could not be executed properly.
I. Changing the Library
Dylib suffix of the library to be replaced by the TBD suffix. For example, the following can be seen
Before changing the library:
After changing the library:
Two. HTTPS issues
xcode7.2 The default project is HTTPS. So in order to continue using HTTP. Need to be added to the info.plist for example to see:
Three. Bitcode Issues
Real machine test, hair now the simulator is not wrong, the real problem, reported such as the following similar problems:
'/users/**/framework/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
Including the words Bitcode,Bitcode is an intermediate form of code that is compiled by a program.
Programs that include Bitcode configuration will be compiled and linked on the App store. Bitcode agrees that Apple is optimizing the binaries of the program in the later stages without having to submit a new version number to the App store again.
When the program is submitted to the App Store, Xcode compiles the program into an intermediate representation (Bitcode). The App Store then compiles the botcode into a 64-bit or 32-bit program that can be run.
In the above error message, we mentioned how to deal with the problem we encountered:
You must rebuild it with Bitcode enabled (Xcode setting Enable_bitcode), obtain a updated library from the vendor, Ordisab Le Bitcode for this target. For Architecture arm64
Either let the third-party library support or turn off the target's bitcode option.
In fact, in Xcode 7, when we create a new iOS program, the Bitcode option is set to Yes by default. We can see this setting in the "Build Settings", "Enable bitcode" option. It's just that. What we need to consider now is three platforms: Ios,mac Os,watchos.
For iOS. Bitcode is optional and is required for Watchos,bitcode, while Mac OS does not support Bitcode.
Suppose we open the bitcode, and when we submit the package, the following interface will also have a bitcode option:
So. Suppose our project needs to support Bitcode. It is necessary to require all third-party libraries that are introduced to support Bitcode.
Otherwise, press the view to close the Bitcode
three. White list issues
Upgrade to xcode7.2. If the project has to jump to other apps, you need to add the app's Scheme in Info.plist , otherwise you can't call or jump
<key>LSApplicationQueriesSchemes</key>
<array>
<string>iosamap</string>
<string>baidumap</string>
<string>seeyaa</string>
<string>wechat</string>
<string>weixin</string>
<string>sinaweibohd</string>
<string>sinaweibo</string>
<string>sinaweibosso</string>
<string>weibosdk</string>
<string>weibosdk2.5</string>
<string>mqqapi</string>
<string>mqq</string>
<string>mqqOpensdkSSoLogin</string>
<string>mqqconnect</string>
<string>mqqopensdkdataline</string>
<string>mqqopensdkgrouptribeshare</string>
<string>mqqopensdkfriend</string>
<string>mqqopensdkapi</string>
<string>mqqopensdkapiV2</string>
<string>mqqopensdkapiV3</string>
<string>mqzoneopensdk</string>
<string>wtloginmqq</string>
<string>wtloginmqq2</string>
<string>mqqwpa</string>
<string>mqzone</string>
<string>mqzonev2</string>
<string>mqzoneshare</string>
<string>wtloginqzone</string>
<string>mqzonewx</string>
<string>mqzoneopensdkapiV2</string>
<string>mqzoneopensdkapi19</string>
<string>mqzoneopensdkapi</string>
<string>mqzoneopensdk</string>
<string>alipay</string>
<string>alipayshare</string>
</array>
Four. Packaging problems
Failed to locate or generate matching signing assets
Xcode attempted to locate or generate matching signing assets and failed to doing so because of the following issues.
Missing IOS distribution signing identity for ... Xcode can request one for you.
For example, the following
The reason for this is that Apple World Wide Developer Relations Certificate Authority has an expiration time of February 2016 14. Apple answers such as the following:
Thanks for bringing the attention of the community and apologies for the issues you ' ve been have. This issue stems from have a copy of the expired WWDR Intermediate certificate in both your System and Login keychains. To resolve the issue, your should first download and install the NEWWWDR Intermediate certificate (by double-clicking on th e file). Next, in the Keychain Access application, select the System Keychain. Make sure to select "Show Expired certificates" in the View menu and then delete the Expired version of the Apple Worldwid E Developer Relations Certificate Authority intermediate Certificate (expired on February 14, 2016). Your certificates should now appear as valid in Keychain Access and being available to Xcode for submissions to the APP Store .
Simply put, the root certificate that issued the developer certificate has expired. Suppose this time you open keychain to see your announcement certificate would be this:
This is the Apple World Wide Developer relations Certificate Authority expired. So the issued certificate is not available.
Now for the solution:
1. Open Keychain (keychain), locate the expired Apple World Wide Developer Relation Certification Authorityin the login and system, and then delete it
Note under the Keychain Display menu, set to show expired certificates
2. Download this link in the applewwdrca.cer certificate to local
3. Remember to set permissions on the system keychain to open
4. Install the applewwdrca.cer into the login and system
After the setup is successful, you can. Check to see if your published certificate is OK.
Reference link:
http://jingyan.baidu.com/ article/a3aad71ac4de98b1fb0096ac.html
Http://www.jianshu.com/p/cda1790ea317?appinstall=0
HTTP://WWW.JIANSHU.COM/P/3E1B4E2D06C6
http://www.jianshu.com/p/a8cce94d508e
Xcode7 and iOS9 adaptation of the road