Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-16697] iOS: SDK should have 0 compiler warnings (it currently has 9)

GitHub Issuen/a
TypeBug
PriorityMedium
StatusClosed
ResolutionFixed
Resolution Date2014-12-01T23:33:14.000+0000
Affected Version/sRelease 3.1.3
Fix Version/sRelease 3.4.2, Release 3.5.0, Release 4.0.0
ComponentsCore, iOS
Labelsmodule_platform, qe-noTestNeeded, sdk
ReporterMatt Langston
AssigneeVishal Duggal
Created2014-03-25T18:31:17.000+0000
Updated2014-12-02T00:02:35.000+0000

Description

We should have 0 compiler warnings. An SDK that produces even 1 compiler warning should never make it to QE. There are 64-Bit issues buried in these 159 warnings, so these issues need to be fixed before our SDK can be certified as 64-Bit clean. This is Apple's guide to making source code "64-bit clean": [64-Bit Transition Guide for Cocoa Touch](https://developer.apple.com/library/ios/documentation/General/Conceptual/CocoaTouch64BitGuide)

Attachments

FileDateSize
alloy_no_services.png2014-03-25T18:31:17.000+0000256557
alloy_services.png2014-03-25T18:31:17.000+0000204135
classic_no_services.png2014-03-25T18:31:17.000+0000294882
classic_services.png2014-03-25T18:31:17.000+0000296921
image.png2014-03-25T18:31:17.000+0000493024
image2.png2014-03-25T18:31:17.000+0000477767
still_warning.png2014-03-25T18:31:17.000+0000328150

Comments

  1. Xu Zongque 2014-05-07

    Although ticket TIMOB-15118 is closed and marked fixed, I'm quite un-satisfied about how the issue was addressed. Verified again with: Studio:3.2.3.201404181442 Sdk:3.2.3.GA alloy:1.3.1 Osx: Maverick(10.9.2) xCode:5.0.2 Created a new alloy project, built and opened generated project with xcode, run. There were 9 compiler warnings, and, in addition, 1 xcode warning. Investigated closely the xcode warning, it says multiple recommended compiler warnings are disabled, including: Duplicate Method Definitions Empty Loop Bodies Implicit Boolean Conversions Implicit Constant Conversions Implicit Conversion to 32 Bit Type Implicit Enum Conversions Implicit Integer to Pointer Conversions Undeclared Selector Uninitialized Variables Enabling all of them and try run again, got 123 compiler warnings. People, please get the point.
  2. Ingo Muschenetz 2014-05-07

    Xu, is there a reason this ticket is of particular interest to you?
  3. Xu Zongque 2014-05-07

    Not really, just concern about quality. As a SDK, it should be robust.
  4. Ingo Muschenetz 2014-05-07

    PR submitted to enable additional compiler warnings: https://github.com/appcelerator/titanium_mobile/pull/5667. If you wish to help expedite this ticket, a PR with additional changes is appreciated.
  5. Vishal Duggal 2014-10-24

    Pull pending master - https://github.com/appcelerator/titanium_mobile/pull/6269 3_4_X - https://github.com/appcelerator/titanium_mobile/pull/6271
  6. Jon Alter 2014-10-24

    This PR bumps the deployment target on Titanium projects from 5.0 to 7.0 It enforces our min-ios-ver support of 7.0 (3.4.0 and 3.4.1 can still be built with min-ios-ver 6.0) It also enforces minSDK of 8.0. Right now you can build apps with minSDK of 7.0 Major code changes include the following 1. AudioRecorderProxy moved from AQRecorder to AVFoundation/AVAudioRecorder 2. Deprecation of status bar styles, color constants 3. AdView refactor As part of this we have also enabled most of the compiler flags suggested by XCODE The following warnings are still generated 1. Missing Launch Image - Ignore this for now. We take care of proper launch images in our build script 2. Validate Project Settings (Details below) 2a. Enable undeclared selector warning - We will probably not enable this flag anytime soon due to the amount of code refactor required 2b. Enable Unreachable Code warning - We will defer enabling this flag till we factor out the SCListener and MGSplitViewController libraries 2c. Enable Implicit conversion to 32 bit - This will generate warning in the a few third party library. We can choose to keep this disabled but should update titanium code to not generate this warning if enabled. 2d. Automatically select architectures - This will done as part of 64bit support Regression path - KitchenSink
  7. Vishal Duggal 2014-11-10

    Two further PR's merged master - https://github.com/appcelerator/titanium_mobile/pull/6328 3_4_X - https://github.com/appcelerator/titanium_mobile/pull/6329 This takes care of '2c' mentioned in the comments above. The code is fixed but the warning is still disabled in the project
  8. Wilson Luu 2014-12-01

JSON Source